diff options
Diffstat (limited to 'StardewModdingAPI/Log.cs')
-rw-r--r-- | StardewModdingAPI/Log.cs | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/StardewModdingAPI/Log.cs b/StardewModdingAPI/Log.cs deleted file mode 100644 index 6c338edc..00000000 --- a/StardewModdingAPI/Log.cs +++ /dev/null @@ -1,181 +0,0 @@ -using System; -using System.IO; -using System.Threading; - -namespace StardewModdingAPI -{ - - /// <summary> - /// Class to organize logging calls. - /// </summary> - public class Log - { - private static StreamWriter _logStream; - private static string _logPath; - - /// <summary> - /// Set up the logging stream - /// </summary> - /// <param name="logPath"></param> - public static void Initialize(string logPath) - { - _logPath = logPath; - var logFile = string.Format("{0}\\MODDED_ProgramLog.Log_LATEST.txt", logPath); - try - { - _logStream = new StreamWriter(logFile, false); - } - catch (Exception) - { - // TODO: not use general exception - Error("Could not initialize LogStream - Logging is disabled"); - } - } - - private static void PrintLog(object message, bool disableLogging) - { - string logOutput = $"[{DateTime.Now.ToLongTimeString()}] {message?.ToString()}"; - Console.WriteLine(logOutput); - - if (_logStream != null && !disableLogging) - { - _logStream.WriteLine(logOutput); - _logStream.Flush(); - } - } - - /// <summary> - /// Print provided parameters to the console/file as applicable - /// </summary> - /// <param name="message">Desired message</param> - /// <param name="disableLogging">When true, writes to ONLY console and not the log file.</param> - /// <param name="values">Deprecated. Does nothing.</param> - private static void PrintLog(object message, bool disableLogging, params object[] values) - { - PrintLog(message, disableLogging); - } - - /// <summary> - /// Successful message to display to console and logging. - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Success(object message, params object[] values) - { - Console.ForegroundColor = ConsoleColor.Green; - PrintLog(message?.ToString(), false); - Console.ForegroundColor = ConsoleColor.Gray; - } - - /// <summary> - /// Generic comment to display to console and logging. - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Verbose(object message, params object[] values) - { - Console.ForegroundColor = ConsoleColor.Gray; - PrintLog(message?.ToString(), false); - Console.ForegroundColor = ConsoleColor.Gray; - } - - /// <summary> - /// Additional comment to display to console and logging. - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Comment(object message, params object[] values) - { - Console.ForegroundColor = ConsoleColor.Yellow; - PrintLog(message?.ToString(), false); - Console.ForegroundColor = ConsoleColor.Gray; - } - - /// <summary> - /// Message for only console. Does not appear in logging. - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Info(object message, params object[] values) - { - Console.ForegroundColor = ConsoleColor.Gray; - PrintLog(message?.ToString(), true); - Console.ForegroundColor = ConsoleColor.Gray; - } - - /// <summary> - /// Important message indicating an error. - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Error(object message, params object[] values) - { - Console.ForegroundColor = ConsoleColor.Red; - PrintLog(message?.ToString(), false); - Console.ForegroundColor = ConsoleColor.Gray; - } - - /// <summary> - /// A message displayed only while in DEBUG mode - /// </summary> - /// <param name="message"></param> - /// <param name="values">Deprecated. Do not use.</param> - public static void Debug(object message, params object[] values) - { -#if DEBUG - Console.ForegroundColor = ConsoleColor.Yellow; - Log.PrintLog(message.ToString(), false); - Console.ForegroundColor = ConsoleColor.Gray; -#endif - } - - /// <summary> - /// Catch unhandled exception from the application - /// </summary> - /// <remarks>Should be moved out of here if we do more than just log the exception.</remarks> - public static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) - { - Console.WriteLine("An exception has been caught"); - File.WriteAllText(_logPath + "\\MODDED_ErrorLog.Log_" + DateTime.UtcNow.Ticks + ".txt", e.ExceptionObject.ToString()); - } - - /// <summary> - /// Catch thread exception from the application - /// </summary> - /// <remarks>Should be moved out of here if we do more than just log the exception.</remarks> - public static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) - { - Console.WriteLine("A thread exception has been caught"); - File.WriteAllText(_logPath + "\\MODDED_ErrorLog.Log_" + Extensions.Random.Next(100000000, 999999999) + ".txt", e.Exception.ToString()); - } - - // I'm including the following for now because they have a lot of references with different uses. - // They should be removed since they do not provide any insight into actual problems, and other log methods should be used. - - public static void LogValueNotSpecified() - { - Error("<value> must be specified"); - } - - public static void LogObjectValueNotSpecified() - { - Error("<object> and <value> must be specified"); - } - - public static void LogValueInvalid() - { - Error("<value> is invalid"); - } - - public static void LogObjectInvalid() - { - Error("<object> is invalid"); - } - - public static void LogValueNotInt32() - { - Error("<value> must be a whole number (Int32)"); - } - - } -} |