添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
旅行中的砖头  ·  Pooping By the ...·  3 周前    · 
豪情万千的芒果  ·  Solved: HubSpot ...·  4 月前    · 
深情的杯子  ·  colab ...·  5 月前    · 

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 在现代软件开发中,日志管理是确保应...