简体   繁体   English

如何查看log4net日志路径?

[英]How to check log4net log path?

My configuration file is : 我的配置文件是:

<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>

in app.config. 在app.config中。

But it has no log file in disk D:!!!! 但它在磁盘D中没有日志文件:!!!!

Just verified your config - works fine. 刚验证了你的配置 - 工作正常。 You probably didn't initialize log4net properly. 您可能没有正确初始化log4net。 You should add into AssemblyInfo.cs file: 您应该添加到AssemblyInfo.cs文件中:

[assembly: XmlConfigurator(Watch = true)]

Or you can use XmlConfigurator.ConfigureAndWatch method or simply 或者您可以使用XmlConfigurator.ConfigureAndWatch方法或简单地使用

XmlConfigurator.Configure();

Unlike NLog, log4net cannot initialize itself. 与NLog不同,log4net无法初始化。

NOTES : You should change your date pattern to yyyy-MM-dd'.log' - year and day should be lowercase letters. 注意 :您应该将日期模式更改为yyyy-MM-dd'.log' - 年和日应为小写字母。 Also you can write several levels with single appender. 你也可以用单个appender写几个级别。 There is no need to create two appenders which write to same file. 无需创建两个写入同一文件的appender。

Try as below 请尝试以下方式

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

assemblyinfo.cs AssemblyInfo.cs中

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM