我正在使用带有Windows服务应用程序的log4net v1.2。我的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>
答案 0 :(得分:3)
您的Windows服务正在运行的用户可能没有日志文件的写入权限
另一种可能性是您忘记执行XmlConfigurator.Configure();
答案 1 :(得分:1)
尝试写作:
<log4net debug="true">
它会将所有错误发布到控制台。
答案 2 :(得分:1)
发布我的记录部分。我没有更改代码中的任何内容,除了AssemblyInfo.cs中的一行: [assembly:log4net.Config.Domain(UseDefaultDomain = true)]
再次感谢。:)