private void Init(string[] args) { string[] coords = { "" }; bool enabledConsoleLog = false; Logger.LogLevels logLevel = Logger.LogLevels.INFO; List <LogTarget> logTagets = new List <LogTarget>() { new FileLogTarget("MyLogFile.log", createEmptyLogFile: true) }; foreach (string arg in args) { string[] argData = arg.Split('=', 2); string command = argData[0].Trim(); if (command.StartsWith("/consoleLog") && argData.Length > 1) { if (string.Equals(argData[1].Trim().ToLower(), "true")) { logTagets.Add(new ConsoleLogTarget()); enabledConsoleLog = true; } continue; } if (command.StartsWith("/logLevel") && argData.Length > 1) { if (!Enum.TryParse <Logger.LogLevels>(argData[1].Trim(), true, out logLevel)) { logLevel = Logger.LogLevels.INFO; } continue; } if (command.StartsWith("/mode") && argData.Length > 1) { if (!Enum.TryParse <ProgramModes>(argData[1].Trim(), true, out programMode)) { programMode = ProgramModes.BOT; } continue; } if (command.StartsWith("/setwin") && argData.Length > 1) { coords = argData[1].Split(','); if (coords.Length == 4) { Span <string> coordinates = new Span <string>(coords); SeConsoleWindowPosition(coordinates); } continue; } } LogManager.LogLevel = logLevel; LogManager.LogTargets.AddRange(logTagets); if (logger.IsInfoLevelLog) { logger.Info($"Command line args: \"{string.Join(" ",args)}\""); } if (logger.IsInfoLevelLog) { logger.Info($"Program configured data: /mode={programMode} /consoleLog={enabledConsoleLog.ToString().ToLower()} /logLevel={logLevel.ToString().ToUpper()} /setwin={string.Join(",", coords)}"); } ShowBoard = false; engine = new Engine(); }