/// <summary> /// Adds a sink that writes log events as rolling files for consumption in a Splunk instance. /// </summary> /// <param name="loggerConfiguration">The logger configuration.</param> /// <param name="splunkConnectionInfoInfo"></param> /// <param name="batchSizeLimit"></param> /// <param name="defaultPeriod"></param> /// <param name="restrictedToMinimumLevel">The minimum log event level required in order to write an event to the sink.</param> /// <param name="formatProvider">Supplies culture-specific formatting information, or null.</param> /// <returns>Logger configuration, allowing configuration to continue.</returns> /// <exception cref="ArgumentNullException">A required parameter is null.</exception> public static LoggerConfiguration Splunk( this LoggerSinkConfiguration loggerConfiguration, SplunkConnectionInfo splunkConnectionInfoInfo, int batchSizeLimit, TimeSpan?defaultPeriod, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum, IFormatProvider formatProvider = null) { var defaultedPeriod = defaultPeriod ?? SplunkSink.DefaultPeriod; return(loggerConfiguration.Sink(new SplunkSink(batchSizeLimit, defaultedPeriod, splunkConnectionInfoInfo), restrictedToMinimumLevel)); }
private static void Main(string[] args) { var host = "192.168.93.128"; var userName = "******"; var password = "******"; var connectArgs = new ServiceArgs { Host = host, }; var splunkConnectionInfoInfo = new SplunkConnectionInfo { ServiceArgs = connectArgs, UserName = userName, Password = password, SplunkEventType = "Serilog", SplunkSource = "Serilog.SplunkSample" }; Log.Logger = new LoggerConfiguration() .Enrich.With(new ThreadIdEnricher()) .WriteTo.ColoredConsole(outputTemplate: OutputTemplate) .WriteTo.Splunk(splunkConnectionInfoInfo, 3, TimeSpan.FromSeconds(1)) .CreateLogger(); var serilogLogger = Log.ForContext <Program>(); var username = Environment.UserName; serilogLogger.Information("Hello from Serilog, running as {Username}!", username); var items = Enumerable.Range(1, 10); foreach (var item in items) { serilogLogger.Information("Logging an int, what fun {item}", item); } System.Console.WriteLine("ok"); Console.ReadLine(); }