【问题标题】:log4net log file is empty in production, not in developmentlog4net 日志文件在生产中为空,而不是在开发中
【发布时间】:2011-09-13 15:01:57
【问题描述】:

对于用 C# 4 编写的 Windows 服务,我已经配置了 log4net,并且在开发中工作正常。但尚未投入生产。

这是我的配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <log4net>
        <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="Logs/Log.xml"/>
            <appendToFile value="true"/>
            <rollingStyle value="Size"/>
            <maxSizeRollBackups value="10"/>
            <maximumFileSize value="100MB"/>
            <layout type="log4net.Layout.XmlLayout">
                <param name="Prefix" value=""/>
            </layout>
        </appender>

        <root>
            <level value="ALL"/>
            <appender-ref ref="FileAppender"/>
        </root>
    </log4net>
</configuration>

在我的AssemblyInfo.cs 中,我有:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

当我在本地运行应用程序时,会按预期将内容写入日志。当我在服务器上运行它时,会在正确的路径上创建日志文件,但它仍然是空的。没有一个字符写入日志。

很明显,我的配置正在被提取,因为文件位于正确的位置并具有正确的扩展名。

【问题讨论】:

  • 我建议启用内部调试,这意味着如果 log4net 失败,您应该了解原因 - 有关详细信息,请参阅 logging.apache.org/log4net/release/faq.html#internalDebug
  • 您找到解决方案了吗? A有同样的问题
  • 有点,我从程序集中删除了[assembly: log4net.Config.XmlConfigurator(Watch = true)] 行,只是在应用程序启动时的代码中完成了。

标签: c#-4.0 .net-4.0 windows-services log4net


【解决方案1】:

作为一种解决方法,我从程序集中删除了 [assembly: log4net.Config.XmlConfigurator(Watch = true)] 行,只是在应用程序启动时的代码中完成了它。

【讨论】:

    【解决方案2】:

    我刚刚遇到了同样的问题并修复了该问题,[assembly: log4net.Config.XmlConfigurator(Watch = true)] 位于 ninjectwebcommon 文件中,而不是程序集信息中。在我将其移至 assemblyinfo 后,它开始工作

    【讨论】:

      【解决方案3】:

      这是一个愚蠢的问题...但是您确定您的服务已正确启动并且正在执行操作吗?

      我会添加控制台附加程序,也可能添加 eventlong 附加程序,并尝试将您的服务作为控制台应用程序运行,如果可能的话,看看?

      我会说,由于正在创建日志文件,log4net 看起来还不错...?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-10
        • 2019-09-14
        • 2021-03-22
        • 2016-03-28
        • 1970-01-01
        相关资源
        最近更新 更多