2015-11-04 85 views
0

log4net没有创建任何要记录的文本文件。我试图这样log4net没有创建日志文件来记录

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
</configSections> 
<log4net> 
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file type="log4net.Util.PatternString" value="EpinovaADSyncJob.log" /> 
    <appendToFile value="false" /> 
    <rollingStyle value="Composite" /> 
    <staticLogFileName value="false" /> 
    <datePattern value="yyyy-MM-dd" /> 
    <preserveLogFileNameExtension value="true"/> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" /> 
    </layout> 
</appender> 
<root> 
    <level value="INFO"/> 
    <appender-ref ref="RollingFileAppender"/> 
    <appender-ref ref="ConsoleAppender" /> 
</root> 
</log4net> 
</configuration> 

汇编语言文件:

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

声明为类变量

private static readonly ILog Log = LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType); 

在方法,称为登录这样

BasicConfigurator.Configure(); 
     Log.Debug("Myjob"); 
     Log.Error("newlkjasdf"); 
     Log.Info("lkjlkjasdfasdf"); 
+0

我还没有使用的组件的参考。我总是使用log4net.Config.XmlConfigurator.Configure();我不相信这会消除这种初始化的需要。 – JamieMeyer

+0

@JamieMeyer,不,[该程序集属性已足够](http://stackoverflow.com/questions/3898218/log4net-not-working/3898254#3898254)。 –

+0

我试过这个配置,它确实创建了一个文件'*** \ bin \ Debug \ EpinovaADSyncJob2015-11-05.log'。您确定该配置正在加载,并且相关帐户有权写入该文件吗? – stuartd

回答

0

尝试这个appender:

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> 
<file value="log.txt" /> 
<appendToFile value="false" /> 
<rollingStyle value="Size" /> 
<maxSizeRollBackups value="-1" /> 
<maximumFileSize value="10MB" /> 
<layout type="log4net.Layout.PatternLayout"> 
    <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" /> 
</layout>