【问题标题】:serilog not creating log filesserilog 不创建日志文件
【发布时间】:2021-01-29 07:37:46
【问题描述】:

我们正在使用以下 serilog 代码将事件写入控制台和文件,文件和控制台日志记录在我的机器上工作正常,但在其他开发人员机器控制台日志记录工作但文件日志记录不起作用并添加奇怪的是,“日志”文件夹被创建了。是否需要进行任何额外的设置?

   public static void SetupLogger()
        {
            //var outputTemplate =   "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}";
            var outputTemplate = "[{Level:u3}] {Message:lj}{NewLine}{Exception}";

            // Logger  
            //var outputTemplate = "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u4}] | {Message:l}{NewLine}{Exception}";
            Log.Logger = new LoggerConfiguration()
                .MinimumLevel.Verbose()
                .WriteTo.Console(outputTemplate: outputTemplate, theme:SystemConsoleTheme.Literate,restrictedToMinimumLevel:LogEventLevel.Information)
                .WriteTo.File($"logs/log-{DateTime.Now:yyyy-MM-dd_HH:mm:ss.fff}.log")              
                .CreateLogger();

        }

【问题讨论】:

    标签: .net-core serilog serilog-exceptions


    【解决方案1】:

    解决任何 Serilog 问题的第一步是 turn on the SelfLog 并查看是否有任何异常被捕获。错误消息可能会为您提供问题所在的线索。

    Serilog.Debugging.SelfLog.Enable(s => Console.WriteLine($"Internal Error with Serilog: {s}"));
    

    或者,如果您没有控制台窗口,您也可以use a Notepad window 来检查SelfLog。


    无论如何,它不能运行的机器是否运行 Windows?我之所以问,是因为查看您的代码,我不希望它在 Windows 上工作,因为您保存的文件名称中带有 :(冒号),这不是 Windows 中文件名的有效字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      相关资源
      最近更新 更多