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}}
任何人都有这个想法,为什么没有创建文件 - 什么都不记录?
答案 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}}