public LoggerFile(Configurations.Logger config) : base(config) { var directory = _config.Settings; // if no directory is set, we try to write to the application data folder if (string.IsNullOrEmpty(directory)) { directory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); directory = Path.Combine(directory, Assembly.GetExecutingAssembly().GetName().Name); directory = Path.Combine(directory, "Logs"); } else if (!Path.IsPathRooted(directory)) { directory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), directory); } _directoryLogs = directory; // this will thow if parent directory does not exist or permission is missing // this is ok to let the outside caller know about this if (!Directory.Exists(_directoryLogs)) { Directory.CreateDirectory(_directoryLogs); } // write empty message to test access this.Log(new LoggerMessage { Text = "Testing file access." }, true); }
public LoggerEventLog(Configurations.Logger config) : base(config) { _source = config.Settings; // if no source has been specified or if it is not available if (string.IsNullOrEmpty(_source) || !EventLog.SourceExists(_source)) { _source = Assembly.GetExecutingAssembly().GetName().Name + "test"; if (!EventLog.SourceExists(_source)) { EventLog.CreateEventSource(_source, "Application"); } } }
public LoggerBase(Configurations.Logger config) { _config = config; _priorities = LoggerPriorities.None; // parse priorities if (_config != null && !string.IsNullOrEmpty(_config.Priorities)) { _priorities = LoggerPriorities.None; var configPriorities = _config.Priorities.ToLower().Split(','); foreach (var configPriority in configPriorities) { switch (configPriority.Trim()) { case "verbose": _priorities |= LoggerPriorities.Verbose; break; case "info": _priorities |= LoggerPriorities.Info; break; case "error": _priorities |= LoggerPriorities.Error; break; } } } // if no priorities were found, log all if (_priorities == LoggerPriorities.None) { _priorities = LoggerPriorities.All; } }
public LoggerConsole(Configurations.Logger config) : base(config) { Console.BackgroundColor = ConsoleColor.Black; }
public LoggerMultiple(Configurations.Logger config) : base(config) { throw new NotSupportedException("LoggerMultiple can not be initilized with a configuration, since its not logging itself."); }