CORE3.1 WebAPI Serilog日志框架
CORE3.1 WebAPI Serilog日志框架
一、安装NuGet包:
-
Serilog v2.9.0
-
Serilog..AspNetCore v3.2.0
-
-
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格式打印日志 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步