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.");
            }
        }
コード例 #2
0
        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) =>