Log4net没有写入文件

时间:2017-03-18 05:24:25

标签: file log4net

我在网上关注了youtube视频和文章并实现了这一点。但它永远不会写入我的日志文件。尝试围绕许多论坛的所有建议毫无用处。 不知道我哪里出错了。我有这个内部类库。

app.config文件:

<?xml version="1.0" encoding="utf-8"?>        
<configuration>
 <configSections> 

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net><appender name="myLogAppender" type="log4net.Appender.RollingFileAppender" >


<file value="D:\\Log4NetLog.txt" /><layout type="log4net.Layout.PatternLayout">


<conversionPattern value="%date %level - %message%n" /></layout></appender>

<logger name="myLog"><level value="ALL"></level><appender-ref ="myLogAppender" />

</logger></log4net></configuration>

并在Assembly.info.cs中:

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

并在类文件中:

ILog mylog = LogManager.GetLogger("myLog");

string xx =“tokensalt”; mylog.Info(XX);

2 个答案:

答案 0 :(得分:0)

如果配置在app.config中,则无需在配置器中指定文件:

 [assembly: log4net.Config.XmlConfigurator()]

当您更改app.config文件时,手表也不是很有用。无论如何,应用程序将重新启动,文件将被重新加载。

如果这不起作用,我猜你登录的网络用户无法访问您登录的路径。

->>> <file value="D:\\Log4NetLog.txt"

确保选择您有权访问的路径。

答案 1 :(得分:0)

使用文件appender而不是滚动appender,滚动appender是为了备份目的,例如,如果你的文件超过10mb,那么它将写入你的滚动appender,你可以决定你在那里写的10mb文件的数量,来自log4net网站:

  

RollingFileAppender可以根据大小或日期或两者来滚动日志文件   取决于RollingStyle属性的设置。设置为时   一旦大小超过,日志文件的大小将被滚动   MaximumFileSize。设置为Date时,日志文件将被滚动一次   越过DatePattern属性中指定的日期边界。什么时候   设置为Composite,日志文件将在日期边界滚动一次   在DatePattern属性中指定的是超出的,但是在一个日期内   边界文件也将在其大小超过时滚动   MaximumFileSize。当设置为一旦日志文件将被滚动时   appender已配置。这实际上意味着日志文件可以   每个程序执行时滚动一次。

这是一个适合您的web.config示例:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
<appender name="FileAppender" type="log4net.appender.FileAppender">
            <file value="C:\MyLogs\MyLogFile.txt"/>
            <appendToFile value="true"/>
            <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date{ABSOLUTE} [%logger] %level - %message%newline%exception"/>
            </layout>
        </appender>
<root>
        <level value="DEBUG"></level>
        <appender-ref ref="FileAppender"></appender-ref>
    </root>
</log4net>