private void WriteLog(object obj, ConsoleColor color, LogType type) { DateTime now = DateTime.Now; try { string info = string.Format("{0}{1} {2} {3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Logo, type, obj); if (doConsolePrint) { Console.ForegroundColor = color; Console.WriteLine(info); Console.ResetColor(); } if (doFilePrint) { handler.WriteLine(info); handler.CheckFileSize(info.Length, now); } } catch (Exception e) { Log.Error(e.ToString()); } }
public override void Write(object obj) { DateTime now = DateTime.Now; try { string info = string.Format("{0}{1}{2}{3}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Logo, "[INFO] ", obj); if (doFormPrint) { mainFrom.WinFromLog(info, Color.Red); } if (doFilePrint) { handler.WriteLine(info); handler.CheckFileSize(info.Length, now); } } catch (Exception e) { Log.Error(e.ToString()); } }
/// <summary> /// Processes any command line arguments issued to the program. /// </summary> /// <param name="arguments"></param> internal static bool ProcessCommandLineArguments(string[] arguments) { if (arguments.Length > 0) { // There are arguments string helpText = Application.ProductName + ".exe <full path to .save file to process> " + "/prefix <the name prefix of vessel to apply to> " + "/groupid64 <the GroupID64 of the Steam Group> " + "[/logfolder <path to log file directory>] " + "[/nobackup] [/verbose] "; for (int i = 0; i < arguments.Length; i++) { // Try to figure out what's in this argument if (arguments[i].EndsWith(".save", StringComparison.CurrentCultureIgnoreCase)) { // It's a .save file hellionSaveFileInfo = new FileInfo(arguments[i]); Logging.WriteLine("Argument: Save File " + hellionSaveFileInfo.FullName); if (!hellionSaveFileInfo.Exists) { Logging.WriteLine("Specified Save File does not exist."); PauseIfDebuggerAttached(); return(false); } } else if (arguments[i].Equals("/prefix", StringComparison.CurrentCultureIgnoreCase)) { // Increment i by one to prevent the next element being processed in case there are other(?) arguments. i++; groupPrefix = arguments[i].ToUpper(); Logging.WriteLine("Argument: Vessel Prefix " + groupPrefix); if (string.IsNullOrEmpty(groupPrefix)) { Logging.WriteLine("Invalid prefix."); PauseIfDebuggerAttached(); return(false); } } else if (arguments[i].Equals("/groupid64", StringComparison.CurrentCultureIgnoreCase)) { // Increment i by one to prevent the next element being processed in case there are other(?) arguments. i++; groupID64 = Convert.ToInt64(arguments[i]); Logging.WriteLine("Argument: Steam GroupID64 " + groupID64); if (!(groupID64 > 0)) { Logging.WriteLine("Problem with Steam GroupID64."); PauseIfDebuggerAttached(); return(false); } } else if (arguments[i].Equals("/logfolder", StringComparison.CurrentCultureIgnoreCase)) { // Increment i by one to prevent the next element being processed in case there are other(?) arguments. i++; DirectoryInfo _loggingPath = new DirectoryInfo(arguments[i]); Logging.WriteLine("Argument: Log File Path " + _loggingPath.FullName); if (!(_loggingPath.Exists)) { Logging.WriteLine("Invalid logging path specified."); PauseIfDebuggerAttached(); return(false); } Logging.LogFile = new FileInfo(Path.Combine(_loggingPath.FullName, Logging.GenerateLogFileName(LogFileNameSuffix))); Logging.WriteLine("Logging to: " + Logging.LogFile.FullName); Logging.Mode = LogFileHandler.LoggingOperationType.ConsoleAndLogFile; } else if (arguments[i].Equals("/nobackup", StringComparison.CurrentCultureIgnoreCase)) { createBackup = false; Logging.WriteLine("Argument: Backup file will NOT be created."); } else if (arguments[i].Equals("/verbose", StringComparison.CurrentCultureIgnoreCase)) { verboseOutput = true; Logging.WriteLine("Argument: Verbose output ON."); } else if (arguments[i].Equals("/?") || arguments[i].ToLower().Contains("help")) { Logging.WriteLine(helpText); PauseIfDebuggerAttached(); return(false); } else { Logging.WriteLine("Unexpected Argument: " + arguments[i]); Logging.WriteLine("Use /? or /help to show available arguments."); PauseIfDebuggerAttached(); return(false); } } // We got here so everything checked out so far. return(true); } Logging.WriteLine("No parameters specified."); Logging.WriteLine("Use /? or /help to show available arguments."); PauseIfDebuggerAttached(); return(false); }