gpt4 book ai didi

logging - 如何使用 Sitecore 修复项目别名的错误日志记录?

转载 作者:行者123 更新时间:2023-12-02 14:23:00 25 4
gpt4 key购买 nike

我正在使用 Sitecore 6.5。有多语言配置。我使用带有别名的项目。

可以在内容项上创建别名。单击项目 > 演示 > 别名。例如输入:/page/stackoverflow/myitem。单击“确定”。

别名现已在内容树中创建,请参阅:/sitecore/system/Aliases/*

别名在内容树中存储为:

- page
-- stackoverflow
--- myitem

每个项目都是创建的别名的一部分。

问题。

无效的 URL(基于创建的别名)会导致错误日志中出现错误。51161 12:01:26 错误“/page”的别名存在,但指向不存在的项目。

我想更改:

  1. 日志级别为 INFO/WARN
  2. 将此错误记录在单独的错误日志中或
  3. 创建自定义 httpRequest 管道以避免此错误。

以上列表按优先顺序排列。除非有更好的可能性来解决这个问题。有没有人遇到过这个问题并有好的解决方案?

非常感谢。

乔迪

最佳答案

Maras 是正确的,但是您应该能够在没有 HttpProcessor 的情况下实现这一点,只需“稍微”摆弄一下 web.config 中的 log4net 设置即可。不幸的是,我没有时间为您全面测试这个答案,但我会向您指出我认为您应该寻找的方向。

查找<log4net> web.config 中的部分。它定义了一系列“附加程序”,每个附加程序负责在 Sitecore 解决方案中创建不同的日志文件。它们看起来像这样:

<appender name="LogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
<file value="$(dataFolder)/logs/log.{date}.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
</layout>
</appender>

您可以创建自己的appender;例如“AliasLogFileAppender”并将其内容记录为类似 <file value="$(dataFolder)/logs/Aliaslog.{date}.txt" /> 的内容.

一旦定义完毕,您所需要做的就是将其连接到 httpRequestPipeline 中 Sitecore 自己的别名解析器的命名空间。查看附加程序下方的 <logger>定义。它们看起来像这样:

<logger name="Sitecore.Diagnostics.WebDAV" additivity="false">
<level value="INFO" />
<appender-ref ref="WebDAVLogFileAppender" />
</logger>

“name”属性实际上表示将触发记录器的 namespace 。

所以你的配置应该类似于:

<logger name="Sitecore.Pipelines.HttpRequest.AliasResolver" additivity="false">
<level value="INFO" />
<appender-ref ref="AliasLogFileAppender" />
</logger>

再次,对于无法在发布之前进行测试表示歉意。但我不明白为什么它不起作用。

我确实相信 log4net 中也有一种方法可以将特定错误消息从 WARN 重新映射到 INFO。然而此时此刻我还没有想到细节。

关于logging - 如何使用 Sitecore 修复项目别名的错误日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com