Serilog и настройка конфигурации WriteToC#

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

Сообщение Anonymous »

Я использую serilog для своего механизма ведения журнала, поэтому моя программа cs выглядит примерно так;

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

IHostBuilder builder =
new HostBuilder()
.UseSerilog((context, services, configuration) =>
{
LoggerConfiguration loggerConfiguration = new LoggerConfiguration().ReadFrom.Configuration(context.Configuration);
string? identification = context.Configuration["uuid"];
if (!Guid.TryParse(identification, out Guid _))
{
throw new InvalidOperationException($"Identifier '{identification}' is not a proper GUID value");
}

loggerConfiguration
.WriteTo.Async(a => a.File(
path: $"Logs/log.{identification}-.log",
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] {Message}{NewLine}{Exception}",
rollingInterval: RollingInterval.Infinite,
fileSizeLimitBytes: 104857600,
retainedFileCountLimit: 5,
rollOnFileSizeLimit: true))
.WriteTo.Console();

Log.Logger = loggerConfiguration.CreateLogger();
})
.ConfigureAppConfiguration(app => app.SetBasePath(AppContext.BaseDirectory).AddCommandLine(args))
.ConfigureServices((host, services) =>
{
services.AddScoped()
// and some worker that uses that service
});

await builder.RunConsoleAsync();
итак, теперь давайте перейдем к какой-нибудь службе

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

using System.Linq.Expressions;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using Serilog;

public class SomeService : ISomeService
{
private readonly ILogger _logger;

public SomeService(ILogger logger)
{
_logger = logger;
}

// some methods
}
Теперь, когда я пытаюсь запустить его, я получаю, что DI не может разрешить этот ILogger _logger, но когда я меняю его на ILogger _logger, он работает. Почему и как я могу заставить его работать с ILogger?

Подробнее здесь: https://stackoverflow.com/questions/787 ... nfiguraion
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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