.NET 6.0 WebAPI 应用log4net
第一步:引入依赖包
1. log4net
2. Microsoft.Extensions.Logging.Log4Net.AspNetCore
第二步:添加配置文件
在项目中添加“CfgConfig”文件夹,文件夹中添加“log4net.config”文件(这个文件可以创建在项目根目录下)。
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\" />
<encoding value="utf-8"/>
<datePattern value="/yyyy-MM-dd/'filename.log'" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Composite" />
<preserveLogFileNameExtension value="true" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<staticLogFileName value="false" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{HH:mm:ss.fff} [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<priority value="ALL"/>
<level value="ALL"/>
<appender-ref ref="rollingAppender" />
</root>
</log4net>
第三步:将log4net加入程序集
在Program.cs文件中添加代码
using Microsoft.EntityFrameworkCore;
using MyToDoApi.Context;
using System.Runtime.CompilerServices;
var builder = WebApplication.CreateBuilder(args);
#region 将Log4Net加入Logging程序集(依赖注入)
builder.Logging.AddLog4Net("CfgFile/log4net.config");
#endregion
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.Run();