• .Core使用Serilog日志框架


    .Core使用Serilog日志框架

    一、首先添加NuGet包:

    1、Serilog v2.9.0

    2、Serilog.AspNetCore v3.2.0

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

    4、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格式打印日志
            }
    

      

  • 相关阅读:
    存储过程
    Java抽象类与接口的区别
    Spring资源
    30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)
    单例模式(Singleton)的同步锁synchronized
    常用快捷键大全
    设计模式学习总结(一)——设计原则与UML统一建模语言
    git命令
    Test测试方法
    oracle表分区
  • 原文地址:https://www.cnblogs.com/mvpbest/p/13631572.html
Copyright © 2020-2023  润新知