怎么知道网站是某个公司做的,今天的特大新闻有哪些,wordpress缓存插件破解版,鞍山市残疾人网站开发1 需求分析 日志记录是程序开发中必不可少的环节,对于bug调试和后期项目维护都十分重要.其中Log4net是C#环境下广泛使用的日志记录库,功能十分强大.本教程提供的日志记录需求如下 1#xff0c;日志文件统一保存到项目启动目录下的logs文件夹 2#xff0c;以天为单位进行日志…1 需求分析 日志记录是程序开发中必不可少的环节,对于bug调试和后期项目维护都十分重要.其中Log4net是C#环境下广泛使用的日志记录库,功能十分强大.本教程提供的日志记录需求如下 1日志文件统一保存到项目启动目录下的logs文件夹 2以天为单位进行日志文件的保存
2 环境配置 通过NuGet直接搜索log4net进行安装
3 编写配置文件 在项目目录下新建log4net.config文件
4 设置log4net.config的属性 设置log4net.config的属性为复制到输出目录,否则在程序运行时无法加载配置文件
log4net.config
?xml version1.0 encodingutf-8 ?
configurationconfigSectionssection namelog4net typelog4net.Config.Log4NetConfigurationSectionHandler, log4net//configSectionslog4net!--其中layout节点的配置说明%m(message):输出的日志消息%n(newline):换行%d(datetime):输出当前语句运行的时刻%r(runtime):输出程序从运行到执行到当前语句时消耗的毫秒数%t(threadid):当前语句所在的线程ID %p(priority): 日志的当前日志级别%c(class):当前日志对象的名称%L输出语句所在的行号%F输出语句所在的文件名%-10表示最小长度为10如果不够则用空格填充--appender nameRollingLogFileAppender typelog4net.Appender.RollingFileAppender!--日志路径--param name File value logs\\info\\/!--多线程时采用最小锁定--lockingModel typelog4net.Appender.FileAppenderMinimalLock/!--是否是向文件中追加日志--param name AppendToFile value true/!--最大的文件大小,默认的文件大小是10MB。--maximumFileSize value5MB /!--当日志文件达到MaxFileSize大小就自动创建备份文件。备份文件的多少由MaxSizeRollBackups决定--param name MaxSizeRollBackups value 10/!--日志文件名是否是固定不变的--param name StaticLogFileName value false/!--日志文件名格式为:2022-05-22.log--!--param name DatePattern value yyyy-MM-dd HH.log/--!--文件名按日期生成文件夹--param nameDatePattern value/yyyy-MM/quot;Info_quot;MM-dd-HHquot;.logquot;/!--日志根据日期滚动--param name RollingStyle value Date/layout typelog4net.Layout.PatternLayoutparam nameConversionPattern value%d [%t] %-5p %c [%L] - %m %n //layout!--过滤器--filter typelog4net.Filter.LevelRangeFilter!--用于过滤掉Fatal类型的异常--levelMax valueERROR/levelMin valueINFO//filterfilter typelog4net.Filter.DenyAllFilter/!--不加这个过滤器也可以--/appenderappender nameExceptionAppender typelog4net.Appender.RollingFileAppender!--日志路径--param name File value logs\\Exception\\/!--多线程时采用最小锁定--lockingModel typelog4net.Appender.FileAppenderMinimalLock/!--是否是向文件中追加日志--param name AppendToFile value true/!--最大的文件大小,默认的文件大小是10MB。--maximumFileSize value5MB /!--当日志文件达到MaxFileSize大小就自动创建备份文件。备份文件的多少由MaxSizeRollBackups决定--param name MaxSizeRollBackups value 10/!--日志文件名是否是固定不变的--param name StaticLogFileName value false/!--日志文件名格式为:2022-05-22.log--!--param name DatePattern value yyyy-MM-dd HH.log/--!--文件名按日期生成文件夹--param nameDatePattern value/yyyy-MM/quot;fault_quot;MM-dd-HHquot;.logquot;/!--日志根据日期滚动--param name RollingStyle value Date/layout typelog4net.Layout.PatternLayoutparam nameConversionPattern value%d [%t] %-5p %c [%L] %M- %m %n //layout!--过滤器--filter typelog4net.Filter.LevelMatchFilter!--只保留Falat类型的log--levelToMatch valueFATAL//filter!--阻止其他日志事件被记录若不使用该过滤器其他类型的信息将继续输出--filter typelog4net.Filter.DenyAllFilter/!--不加这个过滤器也可以--/appender!--root--!--(高) OFF FATAL ERROR WARN INFO DEBUG ALL (低) --!--level valueall /--!--appender-ref refColoredConsoleAppender/--!--appender-ref refRollingLogFileAppender//root--appender name控制台输出 typelog4net.Appender.ConsoleAppenderlayout typelog4net.Layout.PatternLayoutparam nameConversionPattern value%d [%t] %-5p %c [%x] - %m%n //layout/appenderlogger nameTest!--指示高于此等级的方可输出--level valueWARN/appender-ref ref控制台输出 //loggerlogger nameloggerAppenderlevel valueALL/appender-ref refRollingLogFileAppender /appender-ref refExceptionAppender //logger/log4net
/configuration 5 代码编写
5.1 添加配置信息 在AssemblyInfo.cs中添加log4net的配置信息,指定默认配置文件为程序运行目录下的log4net.config文件,Watch标志指示当配置文件发生更改时进行重新加载,以做到实时更新配置信息.
[assembly: log4net.Config.XmlConfigurator(ConfigFile log4net.config, Watch true)]
5.2 代码
class Program{static void Main(string[] args){log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(log4net.config));ILog logger LogManager.GetLogger(Test2);ILog logger2 LogManager.GetLogger(Test);logger.Info(信息Info);logger.Warn(异常Warn);logger.Error(错误Error);try{string a null;a.ToString();}catch (Exception ex){logger.Fatal(ex.Message, ex);}logger2.Info(信息Info);logger2.Warn(异常Warn);logger2.Error(错误Error);Console.WriteLine(日志生成完成!);Console.ReadKey();}}
6 扩展资料连接
https://blog.csdn.net/u013066730/article/details/117248306 https://blog.csdn.net/weixin_44900027/article/details/128732197
https://www.cnblogs.com/liquorbin/archive/2012/05/11/2496284.html