Приемник файлов Serilog не создает файлы журналов, если указан неверный путь.C#

Место общения программистов C#
Ответить
Anonymous
 Приемник файлов Serilog не создает файлы журналов, если указан неверный путь.

Сообщение Anonymous »

Serilog не создает файлы журналов — и из-за этого (я думаю) ничего не будет регистрироваться.
Поскольку целью должен быть микросервис, я использую шаблон CQRS.

Вот мой Startup.cs

Код: Выделить всё

private readonly ISession session;
private readonly ILogger logger;

public Startup(IConfiguration configuration)
{
Configuration = configuration;

var baseDirectory = Directory.GetDirectoryRoot(AppDomain.CurrentDomain.BaseDirectory);

Log.Logger = new LoggerConfiguration()
.WriteTo
.Logger(lc => lc.Filter
.ByIncludingOnly(e => e.Level == LogEventLevel.Information || e.Level == LogEventLevel.Debug)
.WriteTo.RollingFile(Path.Combine(baseDirectory, "/Logs/info.log")))
.WriteTo
.Logger(lc => lc.Filter
.ByIncludingOnly(e => e.Level == LogEventLevel.Error)
.WriteTo.RollingFile(Path.Combine(baseDirectory, "/Logs/error.log")))

}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

loggerFactory.AddSerilog();
...//To shorten this example in Stackoverflow, I've excluded the standard code. But in reality they are of course there
}
Вот мой класс, в который регистратор будет внедрен DI:

Код: Выделить всё

public MaterialCommandHandler(ISession session, ILogger logger)
{
this.session = session;
this.logger = logger;
}
и метод Handle, который находится в классе MaterialCommandHandler, в котором я хочу что-то записать в файл журнала

Код: Выделить всё

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}.");
}
У кого-нибудь есть идеи, почему файлы не создаются - и ничего не регистрируется?

Подробнее здесь: https://stackoverflow.com/questions/490 ... valid-path
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»