0

我将 log4net v1.2 与 Windows 服务应用程序一起使用。我的 RollingFileAppender 似乎不起作用。我在下面粘贴我的 service.exe.config 的日志记录部分。谁能告诉我哪里出错了?

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

.....(很多其他配置的东西)

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net" >
    <param name="File" value="D:\\Trinity\\Booking\\OneDay_PostTrade\\logs\\Trinity.log" />
    <param name="MaximumFileSize" value="20MB" />
    <param name="MaxSizeRollBackups" value="10" />
    <param name="StaticLogFileName" value="true" />
    <param name="Threshold" value="ALL" />
    <param name="RollingStyle" value="Composite" />
    <param name="appendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    </layout>
</appender>

...(介于两者之间)

<root>
    <level value="ALL" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="RollingFileAppender" />
</root>

.....(介于两者之间的东西)

<logger name="CSFB.PostTradeRulesEngine">
    <level value="ALL"/>        
</logger>   
4

3 回答 3

3

您的 Windows 服务正在运行的用户可能没有日志文件的写入权限。
另一种可能是您忘记执行XmlConfigurator.Configure();

于 2010-05-06T12:33:07.193 回答
1

尝试写作:

<log4net debug="true">

它会将所有错误发布到控制台。

于 2010-05-06T12:36:15.747 回答
1

感谢大家的回应。我不知道我改变了什么,但我的日志记录已经开始正常工作了。

发布我的日志记录部分。我没有更改代码中的任何内容,除了 AssemblyInfo.cs 中的一行:[assembly: log4net.Config.Domain(UseDefaultDomain=true)]

再次感谢。:)

于 2010-05-07T12:59:48.317 回答