我有一个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)