public static LoggerConfiguration Netty( this LoggerSinkConfiguration sinkConfiguration, SerilogNettyClientOptions options, ISerializer serializer, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum, LoggingLevelSwitch levelSwitch = null) { if (sinkConfiguration == null) { throw new ArgumentNullException(nameof(sinkConfiguration)); } Environment.SetEnvironmentVariable("io.netty.allocator.numDirectArenas", "0"); // 不记录一发送字节流 if (string.IsNullOrWhiteSpace(options.Remote)) { SelfLog.WriteLine("Remote can not be null"); } if (options.RemoteEndPoint == null) { return(sinkConfiguration.Sink(new NullSink(), LevelAlias.Maximum, null)); } try { var sink = new UdpSink(options, serializer); return(sinkConfiguration.Sink(sink, restrictedToMinimumLevel, levelSwitch)); } catch (Exception e) { SelfLog.WriteLine("Unable to create UDP sink: {0}", e); return(sinkConfiguration.Sink(new NullSink(), LevelAlias.Maximum, null)); } }
public static LoggerConfiguration Netty( this LoggerSinkConfiguration sinkConfiguration, SerilogNettyClientOptions options) { return(Netty(sinkConfiguration, options, new ProtobufSerializer())); }