2013-07-25 35 views
2

我有一个Windows窗体应用程序,我试图使用log4net记录到文件。
在我的app.config我有:log4net不写入文件

<log4net debug="false"> 
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net" > 
     <param name="File" value="C:\...\LogFile.txt" /> 
     <param name="AppendToFile" value="true" /> 
     <layout type="log4net.Layout.PatternLayout,log4net"> 
     <param name="ConversionPattern" value="%n%n%n%d [%t] %-5p %c - %m%n%n" /> 
     </layout> 
    </appender> 
    <root> 
     <priority value="ALL" /> 
     <appender-ref ref="LogFileAppender" /> 
    </root> 
    <category name="DesktopLogger.Form1"> 
     <priority value="ALL" /> 
    </category> 
</log4net> 

而且其中的主要形式背后的代码,我有:

public log4net.ILog Logger { get; set; } 

的性质和形式初始化我有:

log4net.Config.XmlConfigurator.Configure(); 

this.Logger= LogManager.GetLogger(typeof(Program)); 

之后,在一个点击按钮事件我有:

this.Logger.Info("text for the logger"); 

然后当我打开文件后 - 什么也没有写入它。这只是一个空文件。

回答

1

你丢失的布局:

<layout type ...> 
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
</layout> 

你当然也可以让你希望的任何布局,这只是一个例子。

+0

我做了一些编辑文件。 – mathinvalidnik

+0

@mathinvalidnik,这到底意味着什么? –

+0

我的意思是它没有写入到传入的文件中: mathinvalidnik

0

无论迈克尔认为应该工作,但随后如果仍然犯规那么可能是你可以尝试添加

<level value="INFO" /> 
<root>标签

<root> 
     <priority value="ALL" /> 
     <level value="INFO" /> 
     <appender-ref ref="LogFileAppender" /> 
    </root> 
+0

我添加了两个建议,但它仍然不会写入任何文件。 – mathinvalidnik

+0

日志文件是否已创建? – Vinay

0

有同样的问题,因为你,继相同的教程。答案可以帮助其他人在将来使用它。使用此配置:

<configSections> 
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/> 
</configSections> 
<log4net> 
    <root> 
    <level value="DEBUG" /> 
    <appender-ref ref="LogFileAppender" /> 
    </root> 
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" > 
    <param name="File" value="log-file.txt" /> 
    <param name="AppendToFile" value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="10" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
    </appender> 
</log4net>