在C#中没有创建log4net日志文件

时间:2017-02-18 08:24:39

标签: c# logging log4net

日志文件未创建, 使用下面的调用来获取logger和配置文件。 是否需要提供文件的完整路径?

private static readonly log4net.ILog logger = log4net.LogManager.GetLogger
(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" requirePermission="false"/>
    </configSections>

    <!-- Log4net Logging Setup -->
    <log4net>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="log.txt" />
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="50" />
            <maximumFileSize value="50MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
            </layout>
        </appender>
        <root>
            <level value="ALL" />
            <appender-ref ref="RollingFileAppender" />
        </root>
    </log4net>
</configuration>

2 个答案:

答案 0 :(得分:0)

你的代码是否打电话

log4net.Config.XmlConfigurator.Configure();

启动时?

我使用的<root>部分有priority,而不是level

    <root>
        <priority value="ALL" />
        <appender-ref ref="LogFileAppender" />
    </root>

(显然,这不是问题https://stackoverflow.com/a/24188507/21336

答案 1 :(得分:0)

在AssemblyInfo.cs中添加以下行后,可能会看到日志文件已创建并且日志即将到来。 [assembly:log4net.Config.XmlConfigurator(Watch = true)]