DLL引用
common logging是一个通用日志接口框架,log4net是一个强大的具体实现框架. common logging可以把输出连接到其他非log类上, 如EntLib的日志、NLog等
项目中需要引入的DLL: Common.Logging.dll Common.Logging.Core.dll Common.Logging.Log4Net1213.dll log4net.dll Common.Logging.log4net1213.dll和log4net.dll的版本需要匹配 以上几个库直接从NUGET上点击安装Common.Logging.log4net1213.dll,其它的几个库会自动作为依赖项目安装都程序集下,如下图
配置说明 将项目的app.config文件修改如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="common"> <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /> </sectionGroup> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <common> <logging> <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1213"> <arg key="configType" value="INLINE" /> </factoryAdapter> </logging> </common> <log4net> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <param name="File" value="log.txt"/> <param name="datePattern" value="MM-dd HH:mm"/> <param name="AppendToFile" value="true"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="LogFileAppender" /> </root> </log4net> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> </startup> </configuration> 简要说明:
①. <arg key="configType" value="INLINE" /> : 这个表示log4net的配置直接写在配置文件里 如果配置文件写在其它地方,可以改成 <arg key="configType" value="FILE-WATCH" /> <arg key="configFile" value="~/log4net.config" /> 以上配置表示将log4net的配置放到单独的文件中 ②一个root日志记录器,log4net只允许一个root日志记录器,用于做全局日志输出; <root> <level value="DEBUG" /> <appender-ref ref="LogFileAppender" /> </root> 其中:<level value="ALL" />表示记录器会将所有级别的日志提交给这里配置的附加器 这里配置了一个附加器:LogFileAppender(配置文件中的appender节点) 附加器(appender)可以定义多个,它只是一个声明,是否使用还是要看日志记录器是否引用了。没有配置appender(附加器)将不会输出日志 用法举例 定义:其中T为当前类名称
运行结果:
private static readonly Common.Logging.ILog logger = Common.Logging.LogManager.GetLogger<T>();
logger.Info($"Enter [this]."); logger.Info($"Leave [this]."); 参考链接: https://www.cnblogs.com/heys/p/5787123.html https://www.shuzhiduo.com/A/QV5ZYko7Jy/ 小编微信:mm1552923 公众号:dotNet编程大全
|