Log4Net配置
上的日志将Debug、Error、Info、Warn的信息放在一个文件里,看着有些杂乱。我自己配置了一个将它们分开(今天双十一)放,看着舒服,下面是配置后得到效果
好了,接下来是步骤,
首先在 Nuget引用log4net包,此处内容跳过,
接下来是配置文件 控制台是App.config网站是web.config文件
1 <configSections> 2 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 3 </configSections>
1 <log4net> 2 <!--根节点--> 3 <root> 4 <!--级别: ERROR 、 WARN 、 INFO 、 DEBUG --> 5 <level value="ERROR"/> 6 <level value="WARN"/> 7 <level value="INFO"/> 8 <level value="DEBUG"/> 9 <appender-ref ref="Error" /> 10 <appender-ref ref="Warn" /> 11 <appender-ref ref="Info" /> 12 <appender-ref ref="Debug" /> 13 </root> 14 <!-- 错误 Error.log--> 15 <appender name="Error" type="log4net.Appender.RollingFileAppender"> 16 <!--路径--> 17 <param name="File" value="Log/" /> 18 <!--文件名--> 19 <param name="DatePattern" value="yyyy-MM-dd/"Error.txt"" /> 20 <!--追加到文件--> 21 <appendToFile value="true"/> 22 <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--> 23 <rollingStyle value="Composite"/> 24 <!--写到一个文件--> 25 <staticLogFileName value="false"/> 26 <!--单个文件大小。单位:KB|MB|GB--> 27 <maximumFileSize value="10MB"/> 28 <!--最多保留的文件数,设为"-1"则不限--> 29 <maxSizeRollBackups value="-1"/> 30 <!--日志格式--> 31 <layout type="log4net.Layout.PatternLayout"> 32 <header value="[Begin]%newline" type="log4net.Util.PatternString" /> 33 <footer value="[End]%newline%newline" type="log4net.Util.PatternString" /> 34 <ConversionPattern value="%d - Error : %m%n" /> 35 </layout> 36 <filter type="log4net.Filter.LevelRangeFilter"> 37 <param name="LevelMin" value="ERROR" /> 38 <param name="LevelMax" value="ERROR" /> 39 </filter> 40 </appender> 41 42 <!-- 警告 Warn.log--> 43 <appender name="Warn" type="log4net.Appender.RollingFileAppender"> 44 <!--路径--> 45 <param name="File" value="Log/" /> 46 <!--文件名--> 47 <param name="DatePattern" value="yyyy-MM-dd/"Warn.txt"" /> 48 49 <!--追加到文件--> 50 <appendToFile value="true"/> 51 <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--> 52 <rollingStyle value="Composite"/> 53 <!--写到一个文件--> 54 <staticLogFileName value="false"/> 55 <!--单个文件大小。单位:KB|MB|GB--> 56 <maximumFileSize value="10MB"/> 57 <!--最多保留的文件数,设为"-1"则不限--> 58 <maxSizeRollBackups value="-1"/> 59 <!--日志格式--> 60 <layout type="log4net.Layout.PatternLayout"> 61 <header value="[Begin]%newline" type="log4net.Util.PatternString" /> 62 <footer value="[End]%newline%newline" type="log4net.Util.PatternString" /> 63 <ConversionPattern value="%d - Warn : %m%n" /> 64 </layout> 65 <filter type="log4net.Filter.LevelRangeFilter"> 66 <param name="LevelMin" value="WARN" /> 67 <param name="LevelMax" value="WARN" /> 68 </filter> 69 </appender> 70 71 <!-- 信息 Info.log--> 72 <appender name="Info" type="log4net.Appender.RollingFileAppender"> 73 <!--路径--> 74 <param name="File" value="Log/" /> 75 <!--文件名--> 76 <param name="DatePattern" value="yyyy-MM-dd/"Info.txt"" /> 77 <!--追加到文件--> 78 <appendToFile value="true"/> 79 <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--> 80 <rollingStyle value="Composite"/> 81 <!--写到一个文件--> 82 <staticLogFileName value="false"/> 83 <!--单个文件大小。单位:KB|MB|GB--> 84 <maximumFileSize value="10MB"/> 85 <!--最多保留的文件数,设为"-1"则不限--> 86 <maxSizeRollBackups value="-1"/> 87 <!--日志格式--> 88 <layout type="log4net.Layout.PatternLayout"> 89 <header value="[Begin]%newline" type="log4net.Util.PatternString" /> 90 <footer value="[End]%newline%newline" type="log4net.Util.PatternString" /> 91 <ConversionPattern value="%d - Info : %m%n" /> 92 </layout> 93 <filter type="log4net.Filter.LevelRangeFilter"> 94 <param name="LevelMin" value="INFO" /> 95 <param name="LevelMax" value="INFO" /> 96 </filter> 97 </appender> 98 99 <!-- 调试 Debug.log--> 100 <appender name="Debug" type="log4net.Appender.RollingFileAppender"> 101 <!--路径--> 102 <param name="File" value="Log/" /> 103 <!--文件名--> 104 <param name="DatePattern" value="yyyy-MM-dd/"Debug.txt"" /> 105 <!--追加到文件--> 106 <appendToFile value="true"/> 107 <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--> 108 <rollingStyle value="Composite"/> 109 <!--写到一个文件--> 110 <staticLogFileName value="false"/> 111 <!--单个文件大小。单位:KB|MB|GB--> 112 <maximumFileSize value="10MB"/> 113 <!--最多保留的文件数,设为"-1"则不限--> 114 <maxSizeRollBackups value="-1"/> 115 <!--日志格式--> 116 <layout type="log4net.Layout.PatternLayout"> 117 <header value="[Begin]%newline" type="log4net.Util.PatternString" /> 118 <footer value="[End]%newline%newline" type="log4net.Util.PatternString" /> 119 <ConversionPattern value="%d - Debug : %m%n" /> 120 </layout> 121 <filter type="log4net.Filter.LevelRangeFilter"> 122 <param name="LevelMin" value="DEBUG" /> 123 <param name="LevelMax" value="DEBUG" /> 124 </filter> 125 </appender> 126 127 128 </log4net>
日志的配置文件已经写好,接下来是使用
添加
[assembly:log4net.Config.XmlConfigurator() ]
可以放在AssemblyInfo类里面,也可以在类的命名空间上面
调用测试
1 var logger = LogManager.GetLogger(typeof(Program)); 2 for (int i = 0; i < 100000; i++) 3 { 4 logger.Info("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"); 5 logger.Error("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"); 6 logger.Debug("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"); 7 logger.Warn("ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"); 8 9 }
好了,完成,留着给以后的自己看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现