mirror of
https://github.com/ServUO/ServUO
synced 2026-08-11 20:23:04 -04:00
62 lines
1.5 KiB
C#
62 lines
1.5 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace Server.Diagnostics
|
|
{
|
|
public class ExceptionLogging
|
|
{
|
|
public static string LogDirectory { get; set; }
|
|
|
|
private static StreamWriter _Output;
|
|
|
|
public static StreamWriter Output
|
|
{
|
|
get
|
|
{
|
|
if (_Output == null)
|
|
{
|
|
_Output = new StreamWriter(Path.Combine(LogDirectory, String.Format("{0}.log", DateTime.UtcNow.ToLongDateString())), true)
|
|
{
|
|
AutoFlush = true
|
|
};
|
|
|
|
_Output.WriteLine("##############################");
|
|
_Output.WriteLine("Exception log started on {0}", DateTime.UtcNow);
|
|
_Output.WriteLine();
|
|
}
|
|
|
|
return _Output;
|
|
}
|
|
}
|
|
|
|
static ExceptionLogging()
|
|
{
|
|
var directory = Path.Combine(Core.BaseDirectory, "Logs/Exceptions");
|
|
|
|
if (!Directory.Exists(directory))
|
|
Directory.CreateDirectory(directory);
|
|
|
|
LogDirectory = directory;
|
|
}
|
|
|
|
public static void LogException(Exception e)
|
|
{
|
|
Utility.WriteConsoleColor(ConsoleColor.Red, "Caught Exception:");
|
|
Utility.WriteConsoleColor(ConsoleColor.DarkRed, e.ToString());
|
|
|
|
Output.WriteLine("Exception Caught: {0}", DateTime.UtcNow);
|
|
Output.WriteLine(e);
|
|
Output.WriteLine();
|
|
}
|
|
|
|
public static void LogException(Exception e, string arg)
|
|
{
|
|
Utility.WriteConsoleColor(ConsoleColor.Red, "Caught Exception: {0}", arg);
|
|
Utility.WriteConsoleColor(ConsoleColor.DarkRed, e.ToString());
|
|
|
|
Output.WriteLine("Exception Caught: {0}", DateTime.UtcNow);
|
|
Output.WriteLine(e);
|
|
Output.WriteLine();
|
|
}
|
|
}
|
|
}
|