log4net的使用
在项目Nuget包管理器中搜索:log4net,安装完成之后再项目中引用即可
log4net配置文件
<configuration> <configSections> <!--log4配置节--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net> <!--根配置--> <root> <!--<appender-ref ref="DebugAppender"/>--> <!--输出到信息日志: Info.log--> <level value="ALL"/> <appender-ref ref="RollingFileAppender"/> <!--输出到警告日志: Warn.log--> <appender-ref ref="RollingFile"/> <!--输出到错误日志: Error.log--> <!--<appender-ref ref="ErrorAppender"/>--> <!--输出到致命错误日志: Fatal.log--> <!--<appender-ref ref="FatalAppender"/>--> </root> <!--Info信息输出到文件中--> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\"/> <param name="StaticLogFileName" value="false"/> <!--日志文件名开头--> <!--<file value="D:\TTSPay\Info\log.txt"/>--> <!--多线程时采用最小锁定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置--> <datePattern value="yyyyMMdd'.txt'"/> <!--是否追加到文件,默认为true,通常无需设置--> <appendToFile value="true"/> <!--变换的形式为日期,这种情况下每天只有一个日志--> <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义--> <!--<rollingStyle value="Date"/>--> <!--变换的形式为日志大小--> <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义--> <RollingStyle value="Date"/> <!--每天记录的日志文件个数,与maximumFileSize配合使用--> <MaxSizeRollBackups value="10"/> <!--每个日志文件的最大大小--> <!--可用的单位:KB|MB|GB--> <!--不要使用小数,否则会一直写入当前日志--> <maximumFileSize value="10MB"/> <!--日志格式--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%m"/> </layout> <!--<filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="INFO" /> <levelMax value="INFO" /> </filter>--> </appender> <!--<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\"/> <param name="StaticLogFileName" value="false"/> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <datePattern value="yyyyMMdd'.txt'"/> <appendToFile value="true"/> <RollingStyle value="Date"/> <MaxSizeRollBackups value="10"/> <maximumFileSize value="2MB"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%m"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender>--> </log4net> </configuration>
在AssemblyInfo.cs文件中写上如下一段代码,其中log4net.config是配置文件名称
[assembly: log4net.Config.XmlConfigurator(ConfigFile ="log4net.config",Watch =true)]
level定义记录的日志级别,级别由低往高依次是:
ALL
DEBUG
INFO
WARN
ERROR
FATAL
None
log4net日志输出
static void Main(string[] args) { log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program)); if (log.IsInfoEnabled) { log.Info("记录日志"); } }