• 第31章 日志


    IdentityServer使用ASP.NET Core提供的标准日志记录工具。Microsoft文档有一个很好的介绍和内置日志记录提供程序的描述。

    我们大致遵循Microsoft使用日志级别的指导原则:

    • Trace仅供开发人员解决问题的信息。这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环境中启用。
    • Debug遵循内部流程并理解为何做出某些决定。在开发和调试过程中具有短期实用性。
    • Information用于跟踪应用程序的一般流程。这些日志通常具有一些长期价值。
    • Warning对于应用程序流中的异常或意外事件。这些可能包括错误或其他不会导致应用程序停止但可能需要调查的条件。
    • Error对于无法处理的错误和异常。示例:协议请求的验证失败。
    • Critical对于需要立即关注的故障。示例:缺少商店实施,无效的密钥材料......

    31.1 Serilog的设置

    我们个人非常喜欢Serilog。试试看。

    31.2 ASP.NET Core2.0+

    对于以下配置,您需要Serilog.AspNetCoreSerilog.Sinks.Console包:

    public class Program
    {
        public static void Main(string[] args)
        {
            Console.Title = "IdentityServer4";
    
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Debug()
                .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                .MinimumLevel.Override("System", LogEventLevel.Warning)
                .MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Information)
                .Enrich.FromLogContext()
                .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Literate)
                .CreateLogger();
    
            BuildWebHost(args).Run();
        }
    
        public static IWebHost BuildWebHost(string[] args)
        {
            return WebHost.CreateDefaultBuilder(args)
                    .UseStartup<Startup>()
                    .UseSerilog()
                    .Build();
        }
    }
    

    github地址

  • 相关阅读:
    线性代数学习笔记(代数版)
    洛谷P2765 魔术球问题(贪心 最大流)
    洛谷P2770 航空路线问题(费用流)
    洛谷P4013 数字梯形问题(费用流)
    洛谷P2774 方格取数问题(最小割)
    洛谷P2761 软件补丁问题(状压DP,SPFA)
    项目mysql数据导入数据的Java程序
    axd与ashx区别
    LD1-K(求差值最小的生成树)
    rabbitMQ入门
  • 原文地址:https://www.cnblogs.com/thinksjay/p/10780451.html
Copyright © 2020-2023  润新知