summaryrefslogtreecommitdiff
path: root/StardewModdingAPI/Log.cs
diff options
context:
space:
mode:
Diffstat (limited to 'StardewModdingAPI/Log.cs')
-rw-r--r--StardewModdingAPI/Log.cs181
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)");
- }
-
- }
-}