有人能告诉我我的log4net配置/实现有什么问题吗?

本文关键字:实现 什么 问题 配置 告诉我 我的 log4net | 更新日期: 2023-09-27 18:17:12

以前从未使用过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中得到一个很好的日志文件,其中包含各种很酷的调试信息,但是该文件没有被创建,我不知道什么是错的。我的服务可以写入目录,所以(对我来说)这似乎不是一个权限的事情。

有人能告诉我我的log4net配置/实现有什么问题吗?

除了初始化日志记录器之外,您已经完成了所有操作。有几种方法可以做到这一点,这里有有用的文档:

log4net初始化

我们以编程的方式对它进行初始化,SO也有一个很棒的帖子:

如何从头开始以编程方式配置log4net(不配置)