1

我有一个Logging.Core包含以下简单类的类库。我的目标是在解决方案中的所有其他项目之间共享一个配置的记录器:

public static class Logging
{
    public static void Configure()
    {
        ILogger logger = new LoggerConfiguration()
            .WriteTo.File(path: "log.txt")
            .CreateLogger();
        Log.Logger = logger;
    }
}

然后在我的控制台应用程序的Program类中,我尝试编写日志条目:

static void Main(string[] args)
{
    Logging.Core.Logging.Configure();

    Log.Debug("Application startup has begun");
    var dbPath = "dalbuilder.db";
    if (!File.Exists(dbPath))
    {
        DalBuilderDb.CreateDbTables();
        Log.Information("Created new Sqlite database file: {filePath}", dbPath);
    }
    DalSourceModel.LoadModelTables();

    Log.CloseAndFlush();
}

当我检查我的输出文件夹时,我看到log.txt已创建但它应该至少有一个条目时为空,“应用程序启动已开始”。控制台应用程序完全按预期运行,进程以代码 0 退出。两个项目都是 .NET 5.0,并且日志库具有以下 Nuget 包:

Serilog (2.10.0)
Serilog.Sinks.File (4.1.0)
4

1 回答 1

1

想知道这是否是最低级别的问题。尝试 :-

ILogger logger = new LoggerConfiguration()
  .MinimumLevel.Verbose()
  .WriteTo.File(path: "log.txt")
  .CreateLogger();
于 2021-06-25T07:59:14.840 回答