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();
});
}
}

posted @   冬月二四  阅读(495)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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作业调度配置
点击右上角即可分享
微信分享提示