public static IMessageSender CreateFromSettings(SyslogLoggerSettings settings) { switch (settings.MessageTransportProtocol) { case TransportProtocol.Udp: return(new UdpMessageSender(settings.ServerHost, settings.ServerPort)); case TransportProtocol.UnixSocket: return(new UnixSocketMessageSender(settings.UnixSocketPath)); default: throw new InvalidOperationException($"{nameof(TransportProtocol)} '{settings.MessageTransportProtocol}' is not recognized."); } }
public static ILoggingBuilder AddSyslog(this ILoggingBuilder builder, HostBuilderContext hostContext) { var configuration = hostContext.Configuration; var section = configuration.GetSection("SyslogSettings"); if (section != null) { var settings = new SyslogLoggerSettings(); section.Bind(settings); } if (!TryGetSyslogLoggingSectionDefaultLogLevel(configuration, out var level)) { if (!TryGetLoggingSectionDefaultLogLevel(configuration, out level)) { } } builder.AddSyslog(section, null, null, level); return(builder); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((ctx, cfg) => { var env = ctx.HostingEnvironment; cfg.AddJsonFile("/config/appsettings.json", true, false) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, false) .AddEnvironmentVariables(); }) .ConfigureLogging((ctx, logging) => { var slConfig = ctx.Configuration.GetSection("SyslogSettings"); if (slConfig != null) { var settings = new SyslogLoggerSettings(); slConfig.Bind(settings); // Configure structured data here if desired. logging.AddSyslog(settings); } }) .ConfigureServices((hostContext, services) =>