SeriLog - Custom Sink для OracleDB в отдельном проекте

Я написал приемник для SeriLog, который записывает журналы в OracleDB. Этот приемник находится в другой библиотеке классов, а хост-проект ссылается на эту библиотеку классов.

По какой-то причине SeriLog не запускает конфигурацию OracleSink. Я понимаю, что есть возможность настроить это в appsettings.json файл проекта хоста, но я не хочу загружать свой файл конфигурации с конфигурациями SeriLog.

Есть ли другой способ сообщить LoggerConfiguration в Program.Main() где сборка что держит кастомную мойку?

 public sealed class Program
    {
    public static int Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
#if DEBUG
            .MinimumLevel.Debug()
#else
            .MinimumLevel.Information()
#endif
            .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
            .Enrich.FromLogContext()
            .WriteTo.RollingFile("Logs/Unilin-Shipping-{Date}.txt")
            //.WriteTo.OracleSink("connectionString","storedProcedure"); => Doesn't find OracleSink
            .CreateLogger();

        try
        {
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseSerilog()
                .Build()
                .Run();

            return 0;
        }
        catch (Exception ex)
        {
            Log.Fatal(ex, "Host terminated unexpectedly");
            return 1;
        }
        finally
        {
            Log.CloseAndFlush();
        }
    }
}

0 ответов

Другие вопросы по тегам