1. 引用类库
Nuget添加类库Microsoft.Extensions.Logging.Log4Net.AspNetCore
2. 添加配置文件
添加log4net.config文件
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!-- 线上禁止配置在程序目录,需修改为具体日志路径 -->
<file value="logs/myproject.log" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<!-- -->
<level value="Debug" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
3. Startup.cs加配置
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// 添加日志Provider
loggerFactory.AddLog4Net();
}
4.控制器使用
public class MyController : ControllerBase
{
private readonly ILogger _logger;
/// <summary>
///
/// </summary>
/// <param name="logger"></param>
public MyController(ILogger<ChecksController> logger)
{
_logger = logger;
}
/// <summary>
/// Get
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
_logger.Log(LogLevel.Trace, "LogLevel.Trace");
_logger.Log(LogLevel.Debug, "LogLevel.Debug");
_logger.Log(LogLevel.Information, "LogLevel.Information");
_logger.Log(LogLevel.Warning, "LogLevel.Warning");
_logger.Log(LogLevel.Error, "LogLevel.Error");
_logger.Log(LogLevel.Critical, "LogLevel.Critical");
_logger.LogTrace("LogLevel.Trace");
_logger.LogDebug("LogLevel.Debug");
_logger.LogInformation("LogLevel.Information");
_logger.LogWarning("LogLevel.Warning");
_logger.LogError("LogLevel.Error");
_logger.LogCritical("LogLevel.Critical");
return new string[] { "value1", "value2" };
}
}
Github详情地址 https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore
END |