之前从未使用过log4net,但我可能最终会为此而努力...如果我能让它发挥作用。
我的app.config中有以下内容:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
...
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="c:\FRLogs\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
在我的代码中,我有:
protected static readonly ILog Log = LogManager.GetLogger(typeof(FileRouter));
然后几次调用:
Log.Debug(string.Format("Processing Route {0} for server {1}, source connection {2} ({3})",
route.RouteID, server.ServerID,
route.SourceConnection.ConnectionID,
route.Description));
从我读过的内容来看,我应该在c:\FRLogs\log.txt
中获得一个很好的日志文件,其中包含各种很酷的调试信息,但文件没有创建,我不知道出了什么问题。我的服务可以写入目录,因此(对我来说)似乎不是权限。
答案 0 :(得分:4)
除了初始化记录器之外,你已经做好了一切。您可以通过以下几种方式完成此操作:
我们以编程方式对其进行个人初始化,并且SO也有很好的帖子:
How to configure log4net programmatically from scratch (no config)