zoukankan      html  css  js  c++  java
  • CORE3.1 WebAPI Serilog日志框架

    CORE3.1 WebAPI Serilog日志框架

    一、安装NuGet包:

    • Serilog v2.9.0

    • Serilog..AspNetCore v3.2.0

    • Serilog.Sinks.Console v3.1.1 输出到控制台

    • Serilog.Sinks.File v4.1.0 输出到文件

    二、修改Program.cs文件

    public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    })
                    .UseSerilog((context, configuration) =>
                    {
                        var path = AppDomain.CurrentDomain.BaseDirectory;
                        path = path.Substring(0, path.LastIndexOf("bin") + 3);
                        configuration
                            .MinimumLevel.Debug()
                            .MinimumLevel.Override("Microsoft", LogEventLevel.Error)
                            .Enrich.FromLogContext()
                            .WriteTo.Console()
                            .WriteTo.File(path: Path.Combine(path, "log.log"), rollingInterval: RollingInterval.Day);          
                    });//注入管道

    三、在控制器打印日志

    [Route("[controller]")]
        [ApiController]
        public class SerilogController : ControllerBase
        {
            private readonly ILogger<SerilogController> _logger;
            public SerilogController(ILogger<SerilogController> logger)
            {
                _logger = logger;
            }
            [HttpGet]
            public void Name()
            {
                _logger.LogError("输出日志成功");
                var v = "你好";
                var vv = "世界";
                _logger.LogInformation("{0}{1}", v, vv);//占位符
                var v1 = "你好";
                var vv1 = 18;
                _logger.LogInformation("{0}{1}", v1, vv1>=18);//添加条件判断
                var model = new { Name = "你是谁", age = 14 };
                _logger.LogInformation("{@model}",model);//JSON格式打印日志
            }

     

  • 相关阅读:
    Android 权限表
    自己动手写shell命令之write
    libgdx 1.4.1公布
    【JUnit4.10源码分析】5.2 Rule
    TCP协议具体解释(上)
    关于 二维码 与 NFC 之间的出身贫贱说
    Effective C++ Item 42 了解 typename 的双重意义
    C++第12周(春)项目2
    HDU 2256 Problem of Precision(矩阵高速幂)
    【OC语法快览】二、存取方法
  • 原文地址:https://www.cnblogs.com/monthv/p/13374624.html
Copyright © 2011-2022 走看看