上一节介绍了如何在abp项目中使用LogDashboard,接着本小节介绍项目中如何输出日志,并在LogDashboard 日志面板中查看。
1.修改 Program 日志输出模板
Log.Logger = new LoggerConfiguration()
#if DEBUG
.MinimumLevel.Debug()
#else
.MinimumLevel.Information()
#endif
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
.Enrich.FromLogContext() //记录相关上下文信息
//restrictedToMinimumLevel 最小记录级别
//rollingInterval 滚动方式,按小时记录,根据个人要求调整
// File 输出到本地
.WriteTo.Async(c => c.File("Logs/logs.log", outputTemplate: "{Timestamp:HH:mm} || {Level} || {SourceContext:l} || {Message} || {Exception} ||end {NewLine}", rollingInterval:RollingInterval.Hour,restrictedToMinimumLevel: LogEventLevel.Information))
.WriteTo.Logger(log =>
log.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Fatal)
.WriteTo.File(
$"Logs/{(DateTime.Now.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) + "-Fatal.log")}",
fileSizeLimitBytes: 83886080),
LogEventLevel.Fatal)
.WriteTo.Logger(log =>
log.Filter.ByIncludingOnly(evt => evt.Level == LogEventLevel.Error)
.WriteTo.File(
$"Logs/{(DateTime.Now.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) + "-Error.log")}",
fileSizeLimitBytes: 83886080),
LogEventLevel.Fatal)
//.WriteTo.Console() // 打印输出到控制台
#if DEBUG
.WriteTo.Async(c => c.Console())
#endif
.CreateLogger();
2. 配置完成后,在需要输出日志的地方进行依懒注入
- 导入的命名空间:using Microsoft.Extensions.Logging;
2.1 输出日志,
_ILogger.LogInformation
根据需求使用,有很多种输出方式。
2.2 查看日志,如果是本地则运行http://localhost:5000/LogDashboard,其他地址则更改对应的ip地址即可。
2.3 可以根据关键字查询相关日志
其他就自己慢慢研究了,日志管理功能至此结束。