一个.NET5项目,使用​​log4net​​写日志到本地文件的示例。

1. 新建一个web项目,基于.NET5的

.NET5(.net core) web项目写日志到本地文件_.net core log


.NET5(.net core) web项目写日志到本地文件_.net5 log4net_02

2. 此时网站项目已经可以直接运行了

.NET5(.net core) web项目写日志到本地文件_.net5 文本日志_03

3. 开始引入日志依赖库

.NET5(.net core) web项目写日志到本地文件_.net5 文本日志_04

4. 根目录直接添加log4net.xml文件。

​log4net.xml​

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
</layout>
</appender>

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="my-log.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />

<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %c %level %method - %message%newline" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="Console" />
<appender-ref ref="RollingFile" />
</root>
</log4net>

如图:

.NET5(.net core) web项目写日志到本地文件_.net写日志_05

5. 读取配置文件

​Program.cs​

//using log4net.Config;
{
#region 取log4net的配置
//BasicConfigurator.Configure(); 这个是默认配置,输出日志到Console
//这个是指定配置,输出日志到文件
XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml"));
#endregion

CreateHostBuilder(args).Build().Run();
}

.NET5(.net core) web项目写日志到本地文件_.net写日志_06

6. 随便找个地方写日志

比如:​​LogDemo\Pages\Index.cshtml.cs​

.NET5(.net core) web项目写日志到本地文件_.net core文本日志_07

 LogManager.GetLogger(typeof(IndexModel)).Debug("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

直接F5调试就能看到进入了断点:

.NET5(.net core) web项目写日志到本地文件_.net5 log4net_08

7. 日志文件就能看到了

.NET5(.net core) web项目写日志到本地文件_.net core log_09


.NET5(.net core) web项目写日志到本地文件_.net core文本日志_10

完成,没什么好说的了。