Common.Logging 是Commons-Logging(apache最早提供的日志门面接口,提供了简单的日志实现以及日志解耦功能) 项目的.net版本。其目的是为 "所有的.net日志实现"提供一个统一的接口,在系统的迭代过程中,可灵活的切换不同的日志实现组件(Log4Net、NLog、EntLib等)。
Common.Logging.LogManager类 作为操作日志实例的主接口,提供了3个对外的方法来获取日志实例
上图所示的Adapter是日志实例工厂类,是从配置文件中获取并创建的 Web.config中的配置, factoryAdapter 节点类型为Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,该类就是日志实例工厂类的实现。 Common.logging结合Log4Net如何集成至项目中实现日志管理?
查看Log4Net的官方版本发布记录发现,从1.2.11版本开始支持的.NET 3.5 和 .NET 4.0, 从2.0.6版本(17年5月)开始支持.NET Core 和 .NET Standard 1.3。那么我们选择的Log4Net版本,至少得是1.2.11版本。 而适配Common.Logging的Log4Net插件版本也有很多(主要是不同版本的Log4Net进行适配),我选择的是Common.Logging.Log4Net1211.
在项目中最好是使用Nuget安装包,会自动关联其Log4Net的版本
先安装 Common.Logging
Install-Package Common.Logging -Version 3.3.1再安装Common.Logging.Log4Net1211
Install-Package Common.Logging.Log4Net1211 -Version 3.3.1<log4net> <appender name=“RollingFileAppender” type=“log4net.Appender.RollingFileAppender”> <!–目录路径,可以是相对路径或绝对路径–> <file value=“Log/” /> <!–日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置–> <datePattern value=‘yyyy-MM-dd/“info.log”’ /> <!–追加到文件–> <appendToFile value=“true” /> <!–创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]–> <rollingStyle value=“Composite” /> <!–写到一个文件–> <staticLogFileName value=“false” /> <!–单个文件大小。单位:KB|MB|GB–> <maximumFileSize value=“200MB” /> <!–最多保留的文件数,设为"-1"则不限–> <maxSizeRollBackups value="-1" /> <!–日志格式–> <layout type=“log4net.Layout.PatternLayout”> <conversionPattern value="%-5level