.net 使用log4net日志功能
作者:互联网
(一)在 .net core 中使用
新建一个配置文件,输入以下代码
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <logger name="InfoLog"> <level value="INFO"/> <appender-ref ref="InfoLogAppender"/> </logger> <logger name="ErrorLog"> <level value="INFO"/> <appender-ref ref="ErrorLogAppender"/> </logger> <appender name="InfoLogAppender" type="log4net.Appender.RollingFileAppender"> <!--日志路径--> <param name="File" value="D:/info/"/> <!--多线程时采用最小锁定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--是否是向文件中追加日志--> <param name="AppendToFile" value="true"/> <!--log保留天数--> <param name="MaxSizeRollBackups" value="10"/> <!--日志文件名是否是固定不变的--> <param name="StaticLogFileName" value="false"/> <!--日志文件名格式为:2008-08-31.log--> <param name="DatePattern" value="yyyy-MM-dd".log""/> <!--日志根据日期滚动--> <param name="RollingStyle" value="Date"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="INFO" /> </filter> </appender> <appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender"> <!--日志路径--> <param name="File" value="D:/error/"/> <!--多线程时采用最小锁定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--是否是向文件中追加日志--> <param name="AppendToFile" value="true"/> <!--log保留天数--> <param name="MaxSizeRollBackups" value="10"/> <!--日志文件名是否是固定不变的--> <param name="StaticLogFileName" value="false"/> <!--日志文件名格式为:2008-08-31.log--> <param name="DatePattern" value="yyyy-MM-dd".log""/> <!--日志根据日期滚动--> <param name="RollingStyle" value="Date"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="ERROR" /> </filter> </appender> <!--root是一个父级的logger,所有Logger列表的形式写在里面,相当于多个looger分开定义--> <root> <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) --> <level value="all"/> <appender-ref ref="ErrorLogAppender"/> <appender-ref ref="InfoLogAppender" /> </root> </log4net> </configuration>
在startup.cs 中进行配置
public static ILoggerRepository repository { get; set; } public Startup(IConfiguration configuration) { Configuration = configuration; repository = LogManager.CreateRepository(this.GetType().FullName); //log4Net配置文件的路径 XmlConfigurator.Configure(repository, new FileInfo("Config/log4net.config")); BasicConfigurator.Configure(repository); }
在需要使用的地方进行调用
log4net.ILog logger = log4net.LogManager.GetLogger(Startup.repository.Name, typeof(LogHelper)); logger.Info("123");
(二)在.net framework中使用
将上面的配置信息添加到配置文件中。
如果是非web项目需要在AssemblyInfo.cs 文件中添加 [assembly: log4net.Config.XmlConfigurator(Watch = true)]
然后再需要用到的地方调用
log4net.ILog logger = log4net.LogManager.GetLogger("InfoLog"); logger.Info("123");
标签:log4net,配置文件,repository,LogManager,net,logger,日志 来源: https://www.cnblogs.com/hegn/p/16397128.html