Я написал приемник для SeriLog, который записывает логи в OracleDB.Этот приемник находится в другой библиотеке классов, и хост-проект ссылается на эту библиотеку классов.
По какой-то причине SeriLog не запускает конфигурацию OracleSink.Я понимаю, что есть возможность настроить это в файле appsettings.json
хост-проекта, но я не хочу загружать свой файл конфигурации с конфигурациями SeriLog.
Есть ли другой способ сообщитьКонфигурация Logger в 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();
}
}
}