【问题标题】:Sitecore custom logs not working since upgrade to 8.2/8.1?自升级到 8.2/8.1 后,Sitecore 自定义日志无法正常工作?
【发布时间】:2016-12-15 08:50:42
【问题描述】:

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

 <configuration>
     <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>
</configuration>

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

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

【问题讨论】:

    标签: logging sitecore log4net sitecore8


    【解决方案1】:

    我花了很长时间才弄清楚这一点,但事实证明,sitecore 已经改变了(像往常一样使用最少的信息)这些日志的注册方式。我找到了buried in the release notes this line

    &lt;log4net&gt; 部分已移至 &lt;sitecore&gt; 节点下,现在 支持新的支持补丁。

    所以基本上他们已经移动了应该配置 log4net 部分的位置。它现在应该在 &lt;sitecore&gt; 配置下,而不是直接在 &lt;configuration&gt; 下,以前/在使用 log4net 的所有其他应用程序中。

    我通过添加一个新的 .config 文件 /App_config/Include/logging.xx.config 解决了这个问题。在这个文件中,我添加了来自 web.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 中删除这些日志的配置,以上内容现在不在根目录中。现在一切正常。

    【讨论】:

    • 我以前在 Sitecore 的配置 XML 的其他部分看到过这种情况。
    • 难怪我找不到调试/信息诊断消息。嗨,Doug!
    猜你喜欢
    • 2017-03-23
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2018-10-26
    • 2018-02-02
    • 1970-01-01
    • 2020-01-27
    相关资源
    最近更新 更多