nuget安装log4net
2018.12.10当前版本为2.0.8
找到所在项目的[Properties->AssemblyInfo]
在底部加上
[assembly: log4net.Config.XmlConfigurator(Watch = true, ConfigFile = "App.config")]
在App.config或Web.config中配置
[configuration->configSections]下加入
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
[configuration]下配置日志
1 <log4net> 2 3 <!-- XXXJob--> 4 <logger name="XXXJob"> 5 <level value="ALL" /> 6 <appender-ref ref="XXXJobAppender" /> 7 </logger> 8 <appender name="XXXJobAppender" type="log4net.Appender.RollingFileAppender"> 9 <file value="log4net\Job\XXXJob" /> 10 <appendToFile value="true" /> 11 <rollingStyle value="Date" /> 12 <datePattern value="\yyyy\yyyyMM\yyyyMMdd'.txt'" /> 13 <staticLogFileName value="false" /> 14 <param name="MaxSizeRollBackups" value="100" /> 15 <layout type="log4net.Layout.PatternLayout"> 16 <conversionPattern value="%date %logger - %message%newline" /> 17 </layout> 18 </appender> 19 20 </log4net>
调用
log4net.ILog log = log4net.LogManager.GetLogger("XXXJob");
XXXJob即logger name
log.Info("some things");
当然还有log.Error等等方式,此处为熟练使用log4net进行快速搭建的方式
特别注意:
log4net配置完成以后,仍然不出日志
通常log4net配置完成以后,仍然不出日志,最可能的原因是配置文件未正确加载
最近使用Windows服务+Quartz.NET时就遇到同样的问题,我们可以在程序初始化时/入口处重新加载一遍配置文件
1 string assemblyFilePath = Assembly.GetExecutingAssembly().Location; 2 string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath); 3 string configFilePath = assemblyDirPath + "\App.config"; 4 XmlConfigurator.ConfigureAndWatch(new FileInfo(configFilePath));
over...