Logging with Log4net (二)
log4net 是.net 的一款日志记录框架。
它提供了很多的方法来帮助记录日志:
使用起来也比较方便:
选中项目,点击右键,然后选择 Manage NuGet Packages...
安装log4net package。
安装好Package 之后,需要用配置文件来配置log4net.
在项目中添加log4net.config 文件,这个配置文件会将日志以xml 的形式记录到 log.xml 中。
代码如下:
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.xml" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
这里有一点要注意,就是需要将log4net.config copy 到bin folder,这样我们的Exe 才能找到这个配置文件。
在Program 的上面添加代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config" , Watch = true )] //[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)] namespace Log4net { class Program { static void Main( string [] args) { } } } 或者是: namespace Log4net { class Program { static void Main( string [] args) { XmlConfigurator.ConfigureAndWatch( new FileInfo( "log4net.config" )); } } } |
配置好之后,我们就可以记录日志了:
下面是我记录的一个
在这里推荐使用EasyLogViewer 来查看日志:
http://www.codeproject.com/Tips/996927/EasyLogViewer-Yet-another-log-viewer-tool-but-Easi
当然还可以将日志文件的形式保存,只要我们更改下log4net.config 就可以了:
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件名开头-->
<file value="project.log" />
<!--是否追加到文件-->
<appendToFile value="true" />
<!--混合使用日期和文件大小变换日志文件名-->
<rollingStyle value="Composite" />
<!--日期的格式-->
<datePattern value=""."yyyyMMdd" />
<!--最大变换数量-->
<maxSizeRollBackups value="30" />
<!--最大文件大小-->
<maximumFileSize value="50MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %m - [%F:%L]%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %m%n" />
</layout>
</appender>
<root>
<level value="ALL"></level>
<appender-ref ref="RollingLogFileAppender"></appender-ref>
<appender-ref ref="ConsoleAppender"></appender-ref>
</root>
</log4net>
具体的选项请参考:http://logging.apache.org/log4net/release/config-examples.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2011-06-11 System.Convert 的一些事