Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查log4net日志路径?_C#_Logging_Log4net - Fatal编程技术网

C# 如何检查log4net日志路径?

C# 如何检查log4net日志路径?,c#,logging,log4net,C#,Logging,Log4net,我的配置文件是: <log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender

我的配置文件是:

<log4net  xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <appender name="InfoFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="D:/" />
            <appendToFile value="true" />
            <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
            <rollingStyle value="Date" />
            <maxSizeRollBackups value="100" />
            <datePattern value="YYYY-MM-DD'.log'"/>
            <maximumFileSize value="1024KB" />
            <staticLogFileName value="false" />
            <encoding value="utf-8"/>           
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="INFO" />
            </filter>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date %-5level %logger  - %message%newline" />
            </layout>
        </appender>
        <appender name="ErrorFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="D:/" />
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="100" />
            <maximumFileSize value="10240KB" />
            <datePattern value="YYYY-MM-DD'.log'"/>
            <staticLogFileName value="true" />
            <encoding value="utf-8"/>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="WARN" />
                <param name="LevelMax" value="FATAL" />
            </filter>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date %-5level %logger - %message%newline" />
            </layout>
        </appender>
        <root>
            <level value="INFO" />
            <appender-ref ref="InfoFileAppender" />
            <appender-ref ref="ErrorFileAppender" />
        </root>
    </log4net>

在app.config中


但它在磁盘D中没有日志文件:

刚刚验证了您的配置-工作正常。您可能没有正确初始化log4net。应将以下内容添加到AssemblyInfo.cs文件中:

或者你可以使用方法或者简单的方法

XmlConfigurator.Configure();
与NLog不同,log4net无法初始化自身

注意:您应该将日期模式更改为
yyyy-MM-dd'.log'
-年和日应为小写字母。您还可以使用单个appender编写多个级别。无需创建两个写入同一文件的附加器。

请按以下方法尝试

<file value="D:/ABC.txt" />

旁注-您有两个appender配置为写入完全相同的文件。是故意的吗?你有没有尝试过用文件名D:/myLog.log而不仅仅是D:/?@lazyberezovsky是的,我打算在同一个文件中提供两种类型的信息file@Tobias我已经尝试指定文件名,如D:/a.log,但它仍然不是初始化记录器的工作区代码。log4net.Config.XmlConfigurator.ConfigureAndWatch
<file value="D:/ABC.txt" />
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "~\\Abc\\xyz\\log4net.config", Watch = true)]