Serilog使用方法
参考资源:
https://www.cnblogs.com/pangjianxin/p/9428900.html
https://www.cnblogs.com/RainFate/p/12073662.html //这篇讲解的更好
step1 在vs中用Nuget安装 Serilog.AspNetCore、Serilog.Sinks.File
step2
修改Programe.cs如下
[方案一:]
using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Serilog;
using Serilog.Events;
namespace MyRabbitMQ
{
public class Program
{
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
//最小的输出单位是Debug级别的
.MinimumLevel.Debug()
/*
* 未实现这种方式的记录
//将Microsoft前缀的日志的最小输出级别改成Information
.MinimumLevel.Override("MicroSoft", LogEventLevel.Information)
.Enrich.FromLogContext()
*/
//输出到控制台
.WriteTo.Console()
//将日志输出到目标路径,文件的生成方式为每天生成一个文件
.WriteTo.File($"{AppContext.BaseDirectory}00_Logs\\log.log",
rollingInterval: RollingInterval.Day)
.CreateLogger();
try
{
Log.Information("Starting up");
CreateHostBuilder(args).Build().Run();
}
catch (Exception ex)
{
Log.Fatal(ex, "Application Start-up failed");
}
finally
{
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
/*
* 去掉默认日志
.ConfigureLogging((hostingContext, logging) =>
{
logging.ClearProviders();
})
*/
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.UseSerilog();
}
}
[方案二:]
namespace MyRabbitMQ
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration
.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext()
.WriteTo.File($"{AppContext.BaseDirectory}00_Logs\\log.log", rollingInterval: RollingInterval.Day)
.WriteTo.Console();
});
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
2018-06-27 未能加载文件或程序集“MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖
2018-06-27 C# Quartz作业调度配置