Log4net快速搭建

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>
View Code

 调用

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));
View Code

over...

...
原文地址:https://www.cnblogs.com/simoje/p/10095130.html