Serilog不会创建日志文件

时间:2018-03-01 14:16:01

标签: c# asp.net-core serilog

Serilog不会创建日志文件 - 因此(我认为)不会记录任何内容。 由于目标应该是微服务,我使用CQRS模式。

这是我的Startup.cs

public MaterialCommandHandler(ISession session, ILogger<MaterialCommandHandler> logger)
{
  this.session = session;
  this.logger = logger;
}

这是我的类,其中记录器将由DI注入:

public async Task Handle(CreateMaterialCommand command)
{
  var material = new Material(command.Id, command.TechDesc, command.Description, command.MaterialClass);
  logger.LogDebug($"{DateTimeOffset.UtcNow} - {nameof(CreateMaterialCommand)} - received for {material} with {nameof(command.TechDesc)} : {command.TechDesc}.");
  await session.Add(material);
  await session.Commit();
  logger.LogDebug($"{DateTimeOffset.UtcNow} - {nameof(CreateMaterialCommand)} - received for {material} with {nameof(command.TechDesc)} : {command.TechDesc}.");
}

和Handle方法,它位于MaterialCommandHandler类中,我想在其中写入日志文件

{{1}}

任何人都有这个想法,为什么没有创建文件 - 什么都不记录?

1 个答案:

答案 0 :(得分:1)

您在日志构建结束时错过了Path.Combine语句,但我认为真正的问题是您的Path.Combine语句可能会导致路径无效或路径过多? ;不要期待。 Path.Combine(@"C:\Temp", @"Logs\mylog.txt"); // C:\Temp\Logs\mylog.txt Path.Combine(@"C:\Temp\", @"Logs\mylog.txt"); // C:\Temp\Logs\mylog.txt Path.Combine(@"C:\Temp\", @"\Logs\mylog.txt"); // \Logs\mylog.txt Path.Combine(@"C:\Temp", @"\Logs\mylog.txt"); // \Logs\mylog.txt 有一些您可能不知道的烦人行为。请考虑以下事项:

{{1}}