log4net 日志文件未在 C# 中创建

log4net log file is not getting created in C#

没有创建日志文件, 使用下面的调用获取记录器和配置文件。 是否需要提供文件的完整路径?

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>

你的代码是否调用了

log4net.Config.XmlConfigurator.Configure();

启动时?

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

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

(显然,这不是问题)

在 AssemblyInfo.cs 中添加以下行后,可以看到正在创建的日志文件和即将到来的日志。 [组装:log4net.Config.XmlConfigurator(手表=真)]