public static global::Serilog.ILogger Build(LoggerSettings settings) { return(new LoggerConfiguration() .Enrich.With <ExceptionDataEnricher>() .WriteTo.File(settings.LogFileLocation, outputTemplate: FileOutputTemplate, rollingInterval: RollingInterval.Day, retainedFileCountLimit: null, shared: true) .WriteTo.EventLog(settings.ApplicationName, outputTemplate: EventOutputTemplate) .MinimumLevel.Is(MapLogEventLevel(settings.LogEventLevel)) .CreateLogger()); }
// ReSharper disable once ParameterOnlyUsedForPreconditionCheck.Local private static void ValidateSettings(LoggerSettings settings) { if (settings == null) { throw new Exception("LoggerSettings parameter cannot be null"); } if (string.IsNullOrWhiteSpace(settings.LogFileLocation)) { throw new Exception("LogFileLocation cannot be empty"); } if (string.IsNullOrWhiteSpace(settings.ApplicationName)) { throw new Exception("ApplicationName cannot be empty"); } }
public Logger(LoggerSettings settings) { ValidateSettings(settings); logger = SerilogBuilder.Build <TImplementingType>(settings); }