自升级到8.2 / 8.1后,Sitecore自定义日志无法正常工作?

时间:2016-12-15 08:50:42

标签: logging sitecore log4net sitecore8

在我的web.config中,我定义了一些自定义log4net错误记录器:

<log4net>

这些已经有效了一段时间了。当我将sitecore从8.0升级到8.1(以及随后的8.2)时,我的所有记录器突然停止工作。发送到自定义日志的所有日志刚刚开始出现在默认的log.log文件中,并且没有创建任何自定义日志。

为什么呢?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

我花了很长时间来弄明白这一点,但事实证明,sitecore已经改变了(如常用的信息最少)这些日志是如何被注册的。我找到了buried in the release notes this line

  

<sitecore>部分已移至<sitecore>节点下,现在已移动   支持新的支持修补。

所以基本上他们已经移动了应该配置log4net部分的地方。它现在应该在<configuration>配置下,而不是直接位于/App_config/Include/logging.xx.config之前的位置,而是在其他使用log4net的应用程序中。

我通过添加新的.config文件<?xml version="1.0"?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:x="http://www.sitecore.net/xmlconfig/"> <sitecore> <log4net> <appender name="RR.Db" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging"> <file value="$(dataFolder)/logs/RR.Db.{date}.txt" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" /> </layout> <encoding value="utf-8" /> </appender> <logger name="RR.Db" additivity="false"> <level value="INFO"/> <appender-ref ref="RR.Db"/> </logger> .... </log4net> </sitecore> </configuration> 来修复此问题。在这个文件中,我添加了web.config中的配置,并进行了一些调整:

TaskEventLog(string taskName = null, int[] eventIDs = null, int[] levels = null, DateTime? startTime = default(DateTime?), string machineName = null, string domain = null, string user = null, string password = null)

您还应该在web.config中删除这些日志的配置,现在上面的内容不在根目录中。现在一切都按预期工作了。