2017-03-18 114 views
0

我关注了网络上的YouTube视频和文章,并实现了这一点。但它从不写入我的日志文件。尝试围绕许多论坛的所有建议没有用。 不知道我出错的地方。我有这个内部类库。Log4net没有写入文件

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"); 

串XX =“tokensalt “; mylog.Info(xx);

+0

使用log4net.Config.XmlConfigurator.Configure(ConfigurationManager.GetSection( “log4net的”)作为的XmlElement)审判;在ILOG之前的类文件中。但没有工作 – user1964776

+0

所有日志记录属性,如IsDebugEnabled == false – user1964776

回答

0

如果你的配置是在你的app.config,你并不需要指定的配置文件:

[assembly: log4net.Config.XmlConfigurator()] 

而且手表是不是非常有用的,当你改变app.config文件。无论如何,应用程序将重新启动并且文件将被重新加载。

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

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

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

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>