使用Serilog记录日志

    科技2023-12-19  106

    默认日志:

    Console.WriteLine("日志内容...");

    Serilog日志:

    Log.Error("OMG its on fire!");

    Serilog日志显示效果:

    1.安装依赖包:

    Serilog 和 Serilog.Sinks.BrowserConsole

    注意由于Serilog.Sinks.BrowserConsole现在还没有正式版本,所以必须在“程序包管理控件台”用命令安装,命令如下:

    dotnet add BlazorApp3 package Serilog.Sinks.BrowserConsole -v 1.0.0-dev-00012

    2.创建日志实例:

    public class Program { public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add<App>("app"); builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); builder.Services.AddSingleton<Markdig.MarkdownPipeline>(sp => new Markdig.MarkdownPipelineBuilder() .UseAdvancedExtensions() .UseSyntaxHighlighting() .Build()); Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.BrowserConsole() .CreateLogger(); await builder.Build().RunAsync(); } }

    3.Serilog日志例子:

    @page "/loging" @using Serilog <div class="row mt-1"> <button class="btn btn-primary" @onclick="LogMessage">Log Message with Serilog</button> </div> <div class="row mt-1" > <button class="btn btn-warning" @onclick="LogWarning">Log Warning with Serilog</button> </div> <div class="row mt-1"> <button class="btn btn-danger" @onclick="LogError" >Log Error with Serilog</button> </div> @code { private void LogMessage() { Log.Information("Information Message"); } private void LogWarning() { Log.Warning("Warning Message"); } private void LogError() { Log.Error("OMG its on fire!"); } }

    引深:

    还可以将日志同时记录到服务器和客户端浏览器中:

    https://nblumhardt.com/2019/11/serilog-blazor/

    Processed: 0.009, SQL: 8