c# log4net填充后什么也没发生

本文关键字:什么 log4net 填充 | 更新日期: 2023-09-27 18:03:16

我需要使用log4net创建。txt并将日志写入。txt,我不知道发生了什么,log4net不做任何事情,没有创建。txt并写入日志。

这是我的log4net。配置
<configuration>
    <configSections>   
        <sectionname="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
        <root>
            <level value="ALL" />
            <appender-ref ref="MyAppender" />
            <appender-ref ref="RollingFileAppender" />
        </root>
        <appender name="MyAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date %level %logger - %message%newline" />
            </layout>
        </appender>
        <appender name="MyFileAppender" type="log4net.Appender.FileAppender">
            <file value="application.log" />
            <appendToFile value="true" />
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date %level %logger - %message%newline" />
            </layout>
        </appender>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="rolling.log" />
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="5" />
            <maximumFileSize value="10MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
            </layout>
        </appender>
    </log4net>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>       

这是Program.cs使用log.info()和log。误差

private static readonly log4net.ILoglog = log4net.LogManager.GetLogge(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

static void Main(string[] args)
{
    log.Info("log_info");
    log.Error("log_error");
}

this is assemblyinfo.cs

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]    

c# log4net填充后什么也没发生

我发现了问题,我有两个。config一个是App.config两个是log4net。配置如果只写"log4net"。,它不会找到log4net.config。所以需要写log4net。

            [assembly: log4net.Config.XmlConfigurator(ConfigFile =  @"C:'Users'username'Documents'Visual Studio 2015'Projects'Log'Log'log4net.config", Watch = true)]