Sitecore - 过滤掉Sitecore错误

时间:2015-12-25 01:00:21

标签: azure sitecore

我们在azure网络应用中托管sitecore 8.1。我们将错误记录到App Dynamic,其中将为每个错误自动创建应用程序票证。

问题是90%的错误是由内置的sitecore piepelines引发的,例如未设置GeoIP服务,未设置会话结束(由于MongoDB)等。

是否可以识别并过滤掉Sitecore内置管道和事件引发的错误?

感谢。

3 个答案:

答案 0 :(得分:0)

Sitecore使用Log4Net作为其日志记录的框架。我自己没有这样做,但我敢打赌你可以使用标准的L4N技术来过滤消息。它可能只是一个配置调整或两个。

您可能更愿意花费相同的时间和研究工作来纠正Sitecore中的问题?如果你不使用它们,大多数服务都可以被禁用(如果它们正在引发错误,那么它们无论如何都不能正常工作,对吧)。从管道中删除项目,禁用跟踪。

通过这种方式,您不仅可以减少日志中的错误,还可以加快网站速度!

答案 1 :(得分:0)

如果您只希望日志文件记录系统中的错误,则需要在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将停止记录所有信息和警告条目,因此您可能会错过调试问题的重要条目。

答案 2 :(得分:0)

您可以使用默认的Log4net并写入sitecore使用的同一日志文件,您甚至不需要修改webconfig来执行此操作。它将是这样的:

Sitecore.Diagnostics.Log.Error(

键入后,您将看到构建日志错误所需的不同选项。为了识别类型及其来源,您可以检查异常类型和堆栈并从那里开始,在这种情况下,您应该创建一个全局异常处理类并在其中拉出所有异常并通过您的标识/分类方法运行它们!

请务必参考此2:

using log4net;
using Sitecore.Diagnostics;