.net core6 Log4记录日志
一、引言
.net core6在文件方面是精简了,所以配置方面也发生了部分变化;下面记录下.net core6中怎么配置Log4 进行日志记录。
二、项目创建
1)、首先引用两个包;在Nuget中引入两个:log4net、Microsoft.Extensions.Logging.Log4Net.AspNetCore
2)、进行配置Program.cs
配置之前新建配置文件:Log4net.config
<?xml version="1.0" encoding="utf-8"?>
<log4net> <!-- 将日志以回滚文件的形式写到文件中 --> <!-- 按日期切分日志文件,并将日期作为日志文件的名字 --> <appender name="RollingFileAppenderNameByDate" type="log4net.Appender.RollingFileAppender"> <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径 --> <file value="Logs" /> <!-- 将日志信息追加到已有的日志文件中--> <appendToFile value="true" /> <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!-- 指定按日期切分日志文件 --> <rollingStyle value="Date" /> <!-- 日志文件的命名规则 --> <datePattern value=""TestLogs_"yyyyMMdd".log"" /> <!-- 当将日期作为日志文件的名字时,必须将staticLogFileName的值设置为false --> <staticLogFileName value="false" /> <!-- 日志显示模板 --> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="【异常时间】:%date %newline%message%newline--------------------------------------------------------------------%newline" /> </layout> </appender> <root> <!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF --> <!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 --> <!-- 如果没有定义LEVEL的值,则缺省为DEBUG --> <level value="ALL" /> <!-- 按日期切分日志文件,并将日期作为日志文件的名字 --> <appender-ref ref="RollingFileAppenderNameByDate" /> </root> </log4net>
新增完成之后,配置Program.cs 文件;红线标记得为需配置得地方。
3)、进行调试;先在Controller中进行调用
调用正常:
日志文件:
4)、结尾
简单记录下学习。有错误得地方希望指正,谢谢!