public override void WriteEvent(LogEvent logEvent, LoggerEnvironment environment) { lock (_sync) { File.AppendAllText(environment.GetLogFile(environment.GetDailyLogFileName(Name)), logEvent.ToString(Format) + Environment.NewLine); } }
/// <summary> /// Configures the serilog logging. /// </summary> /// <param name="hostBuilder">The host builder.</param> public static IHostBuilder ConfigureSerilogLogging(this IHostBuilder hostBuilder) { hostBuilder .ConfigureAppConfiguration((builderContext, config) => { var env = builderContext.HostingEnvironment; var configuration = config.Build(); LoggerEnvironment.Configure(env, configuration); }); hostBuilder.UseSerilog(); return(hostBuilder); }
public override void WriteEvent(LogEvent logEvent, LoggerEnvironment environment) { EventLogInit(environment); EventLogEntryType type = EventLogEntryType.Information; switch (logEvent.Level) { case LogLevel.Error: type = EventLogEntryType.Error; break; case LogLevel.Warning: type = EventLogEntryType.Warning; break; } _eventLog.WriteEntry(logEvent.Message, type); }
private void EventLogInit(LoggerEnvironment environment) { if (_eventLog != null) { return; } string source = string.IsNullOrEmpty(Name) ? $"{environment.AppName}" : $"{environment.AppName}({Name})"; if (!EventLog.SourceExists(source)) { EventLog.CreateEventSource(source, "Application"); } _eventLog = new EventLog { Source = source }; }
public override void WriteEvent(LogEvent logEvent, LoggerEnvironment environment) { switch (logEvent.Level) { case LogLevel.Info: Console.ForegroundColor = ConsoleColor.White; break; case LogLevel.Warning: Console.ForegroundColor = ConsoleColor.Yellow; break; case LogLevel.Debug: Console.ForegroundColor = ConsoleColor.Green; break; case LogLevel.Error: Console.ForegroundColor = ConsoleColor.Red; break; } Console.WriteLine(logEvent.ToString(Format)); Console.ResetColor(); }
public static string GetPath(this LoggerEnvironment environment) { return(Directory.CreateDirectory(environment.Path).FullName); }
public static string GetLogFile(this LoggerEnvironment environment, string logFileName) { return(Path.Combine(environment.GetPath(), logFileName)); }
public static string GetDailyLogFileName(this LoggerEnvironment environment, string name) { return(string.IsNullOrEmpty(name) ? $"{environment.AppName}[{DateTime.Now:yyyy-MM-dd}].log" : $"{environment.AppName}({name})[{DateTime.Now:yyyy-MM-dd}].log"); }
public static string GetLogFileName(this LoggerEnvironment environment, string name) { return(string.IsNullOrEmpty(name) ? $"{environment.AppName}.log" : $"{environment.AppName}({name}).log"); }
public override void WriteEvent(LogEvent logEvent, LoggerEnvironment environment) { Debug.WriteLine(logEvent.ToString(Format)); }
public abstract void WriteEvent(LogEvent logEvent, LoggerEnvironment environment);