public Appender(byte id, string name, LogLevel level = LOG_LEVEL_DISABLED, AppenderFlags flags = APPENDER_FLAGS_NONE) { _id = id; _name = name; _level = level; _flags = flags; }
protected Appender(byte id, string name, LogLevel level = LogLevel.Disabled, AppenderFlags flags = AppenderFlags.None) { _id = id; _name = name; _level = level; _flags = flags; }
public ConsoleAppender(byte id, string name, LogLevel level, AppenderFlags flags) : base(id, name, level, flags) { _consoleColor = new[] { ConsoleColor.White, ConsoleColor.White, ConsoleColor.Gray, ConsoleColor.Green, ConsoleColor.Yellow, ConsoleColor.Red, ConsoleColor.Blue }; }
public AppenderConsole(byte id, string name, LogLevel level, AppenderFlags flags, string[] args) : base(id, name, level, flags) { for (byte i = 0; i < (int)NUM_ENABLED_LOG_LEVELS; ++i) { _colors[i] = (ColorTypes)NUM_COLOR_TYPES; } if (3 < args.Length) { InitColors(name, args[3]); } }
public AppenderFile(byte id, string name, LogLevel level, AppenderFlags flags, string[] args) : base(id, name, level, flags) { _logDir = sLog.LogsDir; if (args.Length < 4) { throw new InvalidAppenderArgsException(string.Format("Log::CreateAppenderFromConfig: Missing file name for appender {0}", name)); } _fileName = args[3]; string mode = "a"; if (4 < args.Length) { mode = args[4]; } if ((flags & APPENDER_FLAGS_USE_TIMESTAMP) != 0) { var dot_pos = _fileName.LastIndexOf('.'); if (dot_pos != -1) { _fileName = _fileName.Insert(dot_pos, sLog.LogsTimestamp ?? string.Empty); } else { _fileName += sLog.LogsTimestamp; } } if (5 < args.Length) { //if (Optional<uint32> size = Trinity::StringTo<uint32>(args[5])) if (long.TryParse(args[5], out var result)) { _maxFileSize = result; } else { throw new InvalidAppenderArgsException(string.Format("Log::CreateAppenderFromConfig: Invalid size '{0}' for appender {1}", args[5], name)); } } _dynamicName = _fileName.IndexOf("{0}") != -1; _backup = (flags & APPENDER_FLAGS_MAKE_FILE_BACKUP) != 0; if (!_dynamicName) { _logfile = OpenFile(_fileName, mode, (mode == "w") && _backup); } }
static void CreateAppenderFromConfig(string appenderName) { if (string.IsNullOrEmpty(appenderName)) { return; } string options = ConfigMgr.GetDefaultValue(appenderName, ""); var tokens = new StringArray(options, ','); string name = appenderName.Substring(9); if (tokens.Length < 2) { Console.WriteLine("Log.CreateAppenderFromConfig: Wrong configuration for appender {0}. Config line: {1}", name, options); return; } AppenderFlags flags = AppenderFlags.None; AppenderType type = (AppenderType)uint.Parse(tokens[0]); LogLevel level = (LogLevel)uint.Parse(tokens[1]); if (level > LogLevel.Fatal) { Console.WriteLine("Log.CreateAppenderFromConfig: Wrong Log Level {0} for appender {1}\n", level, name); return; } if (tokens.Length > 2) { flags = (AppenderFlags)uint.Parse(tokens[2]); } byte id = NextAppenderId(); switch (type) { case AppenderType.Console: { var appender = new ConsoleAppender(id, name, level, flags); appenders[id] = appender; break; } case AppenderType.File: { string filename; if (tokens.Length < 4) { if (name != "Server") { Console.WriteLine("Log.CreateAppenderFromConfig: Missing file name for appender {0}", name); return; } filename = Process.GetCurrentProcess().ProcessName + ".log"; } else { filename = tokens[3]; } appenders[id] = new FileAppender(id, name, level, filename, m_logsDir, flags); break; } case AppenderType.DB: { appenders[id] = new DBAppender(id, name, level); break; } default: Console.WriteLine("Log.CreateAppenderFromConfig: Unknown type {0} for appender {1}", type, name); break; } }
public FileAppender(byte id, string name, LogLevel level, string fileName, string logDir, AppenderFlags flags) : base(id, name, level, flags) { Directory.CreateDirectory(logDir); _fileName = fileName; _logDir = logDir; _dynamicName = _fileName.Contains("{0}"); if (_dynamicName) { Directory.CreateDirectory(logDir + "/" + _fileName.Substring(0, _fileName.IndexOf('/') + 1)); return; } _logStream = OpenFile(_fileName, FileMode.Create); }
public AppenderDB(byte id, string name, LogLevel level, AppenderFlags flags, string[] args) : base(id, name, level, flags) { }
public static Appender CreateAppender <T>(byte id, string name, LogLevel level, AppenderFlags flags, string[] extraArgs) where T : Appender { var obj = (Appender?)Activator.CreateInstance(typeof(T), new object[] { id, name, level, flags, extraArgs }); if (obj == null) { throw new ArgumentException(string.Format("CreateAppender failed for type {0}", typeof(T).Name)); } return(obj); }
private void CreateAppenderFromConfig(string?appenderName) { if (string.IsNullOrEmpty(appenderName)) { return; } // Format = type, level, flags, optional1, optional2 // if type = File. optional1 = file and option2 = mode // if type = Console. optional1 = Color var options = sConfigMgr.GetStringDefault(appenderName, ""); var tokens = options.Split(',', StringSplitOptions.TrimEntries); var size = tokens.Length; var name = appenderName.Substring(9); if (size < 2) { Console.Error.WriteLine(string.Format("Log::CreateAppenderFromConfig: Wrong configuration for appender {0}. Config line: {1}", name, options)); return; } AppenderFlags flags = APPENDER_FLAGS_NONE; AppenderType type = APPENDER_INVALID; Enum.TryParse <AppenderType>(tokens[0], out type); LogLevel level = LOG_LEVEL_INVALID; Enum.TryParse <LogLevel>(tokens[1], out level); if (!_appenderFactory.TryGetValue((byte)type, out var factoryFunction)) { Console.Error.WriteLine(string.Format("Log::CreateAppenderFromConfig: Unknown type '{0}' for appender {1}", tokens[0], name)); return; } if (level > NUM_ENABLED_LOG_LEVELS) { Console.Error.WriteLine(string.Format("Log::CreateAppenderFromConfig: Wrong Log Level '{0}' for appender {1}", tokens[1], name)); return; } if (size > 2) { if (byte.TryParse(tokens[2], out var flagsVal)) { flags = (AppenderFlags)flagsVal; } else { Console.Error.WriteLine(string.Format("Log::CreateAppenderFromConfig: Unknown flags '{0}' for appender {1}", tokens[2], name)); return; } } try { var appender = factoryFunction(NextAppenderId(), name, level, flags, tokens); _appenders[appender.Id] = appender; } catch (InvalidAppenderArgsException ex) { Console.Error.WriteLine(ex); } }