我们在azure web应用程序中托管sitecore 8.1。我们将错误记录到App Dynamic上,其中将为每个错误自动创建应用程序票证。
问题是,90%的错误是由内置的sitecore管道引起的,例如GeoIP服务未设置,会话结束未设置(由于MongoDB)等。
是否可以识别和过滤由Sitecore中的内置管道和事件引起的错误?
谢谢。
发布于 2015-12-25 13:33:06
Sitecore使用Log4Net作为其日志记录的框架。我自己没有这样做过,但我敢打赌,您可以使用标准的L4N技术来过滤消息。这可能只是一个或两个配置调整。
相反,您可能更愿意花费相同的时间和研究努力来纠正Sitecore中的问题?如果您不使用大多数服务,则可以禁用它们(如果它们引发错误,则它们无论如何都不能工作,对吧)。从管道中删除项目,禁用跟踪。
这样,你不仅可以在日志中看到更少的错误,你的网站也会运行得更快!
发布于 2016-01-04 21:54:25
如果您只希望日志文件记录系统中的错误,则需要在log4net设置中将日志记录级别设置为ERROR。
<log4net>
<!-- The appenders will go here -->
<root>
<priority value="ERROR" />
<appender-ref ref="LogFileAppender" />
</root>
<logger name="Sitecore.Diagnostics.WebDAV" additivity="false">
<level value="ERROR" />
<appender-ref ref="WebDAVLogFileAppender" />
</logger>
<logger name="Sitecore.Diagnostics.Search" additivity="false">
<level value="ERROR" />
<appender-ref ref="SearchLogFileAppender" />
</logger>
<logger name="Sitecore.Diagnostics.Crawling" additivity="false">
<level value="ERROR" />
<appender-ref ref="CrawlingLogFileAppender" />
</logger>
<logger name="Sitecore.Diagnostics.Publishing" additivity="false">
<level value="ERROR" />
<appender-ref ref="PublishingLogFileAppender" />
</logger>
<logger name="Sitecore.FXM.Diagnostics" additivity="false">
<level value="ERROR" />
<appender-ref ref="FxmLogFileAppender" />
</logger>
</log4net>如果要禁用特定日志文件,请将级别值设置为NONE。
请记住,将级别设置为ERROR将停止记录所有信息和警告条目,因此您可能会错过调试问题的重要条目。
发布于 2016-08-21 02:11:08
您只需使用默认的Log4net并写入sitecore使用的相同日志文件,甚至不需要修改webconfig即可完成此操作。它将是这样的:
Sitecore.Diagnostics.Log.Error(输入此命令后,您将看到构建日志错误所需的不同选项。为了识别类型和它来自哪里,你可以检查异常类型和堆栈并从那里开始,在这种情况下,你应该创建一个全局异常处理类,并在其中提取所有异常,并通过你的识别/分类方法运行它们!
确保你引用了这两条:
using log4net;
using Sitecore.Diagnostics;https://stackoverflow.com/questions/34459203
复制相似问题