1.Serilog.AspNetCore
2.Serilog.Extensions.Logging.File (输出到文件)
Serilog-aspnetcore GitHub:
https://github.com/serilog/serilog-aspnetcore
二、 注册
Serilog,修改Program文件
新建ASPnet core3.1网站,修改Program文件
public class Program
public static void Main(string[] args)
CreateHostBuilder(args).Build().Run();
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, loggingBuilder) =>
//这里是清空所有日志提供程序,包括aspnetcore框架自带的控制台、调试窗口等
//loggingBuilder.ClearProviders();
.ConfigureWebHostDefaults(webBuilder =>
webBuilder.UseStartup<Startup>();
//添加Serilog
.UseSerilog((hostingContext, loggerConfiguration) =>
//从appsettings.json中读取配置
loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext()
三、修改appsetting.json,添加下面json
"Serilog": {
"WriteTo": [
"Name": "RollingFile",
"Args": {
"pathFormat": "Serilogs\\{Date}.txt",
"RestrictedToMinimumLevel": "Warning",
"rollingInterval": "Day",
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
"Name": "Console",
"Args": {}
"MinimumLevel": {
"Default": "Debug",
"Override": {
"Microsoft": "Information",
"System": "Information"
四、使用日志
通过构造函数注入日志接口,便可直接使用了
public class HomeController : Controller
private readonly ILogger<HomeController> _logger;
private readonly ILogger _logger1;
private readonly ILogger _logger2;
public HomeController(ILogger<HomeController> logger, ILoggerFactory _loggerFactory)
_logger = logger;
_logger1 = _loggerFactory.CreateLogger(typeof(HomeController));
_logger2 = _loggerFactory.CreateLogger<HomeController>();
public IActionResult Index()
_logger.LogDebug("debug");
_logger.LogError("error");
_logger.LogWarning("Warn");
_logger.LogInformation("Info");
_logger1.LogDebug("debug");
_logger1.LogError("error");
_logger1.LogWarning("Warn");
_logger1.LogInformation("Info");
_logger2.LogDebug("debug");
_logger2.LogError("error");
_logger2.LogWarning("Warn");
_logger2.LogInformation("Info");
return View();
五、查看日志生成目录
上面是通过读取配置文件来实现Serilog日志,可通过WriteTo方法直接通过代码可输出到文件、控制台
//添加Serilog
.UseSerilog((hostingContext, loggerConfiguration) =>
loggerConfiguration
.WriteTo.Debug()
//输出格式: 从头到尾分别是:日期、日志级别、日志内容、换行、异常信息
//输出到文件
.WriteTo.File("Serilogs\\serilog.txt", rollingInterval: RollingInterval.Day, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}")
//输出到控制台
.WriteTo.Console(
outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}");
一个的Serilog提供程序,ASP.NET Core使用的日志记录子系统。
ASP.NET核心说明
ASP.NET Core应用程序应该更喜欢和UseSerilog() 。
非Web .NET核心说明
非Web .NET Core应用程序应该更喜欢和UseSerilog() 。
.NET Core 1.0、1.1和默认提供程序集成
该软件包在ILoggingBuilder和ILoggerFactory上实现AddSerilog() ,以在默认的Microsoft.Extensions.Logging实现下启用Serilog提供程序。
首先,将Serilog.Extensions.Logging 安装到您的Web或控制台应用程序中。 您将需要一种查看日志消息的方法-Serilog.Sinks.Console将这些消息写入控制台。
推荐使用:Serilog.Extensions.Logging.File - 轻松记录ASP.NET Core日志
serilog-extensions-logging-fileAdd file logging to ASP.NET Core apps in one line of code.项目地址:https://gitcode.com/gh_mirrors/se/serilog-exten...
Serilog 扩展日志文件项目教程
serilog-extensions-logging-fileAdd file logging to ASP.NET Core apps in one line of code.项目地址:https://gitcode.com/gh_mirrors/se/serilog-extensions-logging-file 项目介绍
Serilog 扩展日志文件项...
集合改变触发事件,更改附加属性AutoScroll值,值更改触发CallBack将日志滚动到底部;将该接口实现类实例化对象通过WriteTo.Sink(myEventSink)与Logger绑定。继承ILogEventSink接口实现 Emit:当Sink器接收到新日志时触发。:添加监听对象Trace.Listeners.Add(this);Console接收器(安装。两事件的响应原因:查看日志时,防止日志自动滚动到底部;File接收器(安装。通过该接口将接收器接收的日志添加进内部日志集合。
public class HomeController : Controller
private readonly ILogger<HomeController> _logger;
public HomeController(IL.
一、安装Serilog
在nuget中直接搜索Serilog.AspNetCore安装即可,安装后会默认安装一个核心组件:Serilog,以及一个配置组件:Serilog.Settings.Configuration,和两个输出组件:Serilog.Sinks.Con...
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Events;
using System.IO;
using Serilog.Sinks.SystemConsole.Themes;
namespace ReportView
public class Progra
探索Serilog.Extensions.Logging:高效日志管理的开源利器
serilog-extensions-loggingSerilog provider for Microsoft.Extensions.Logging项目地址:https://gitcode.com/gh_mirrors/se/serilog-extensions-logging 在现代软件开发中,日志管理是确保应...