You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.9 KiB
53 lines
1.9 KiB
8 years ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
using System.IO;
|
||
|
|
||
|
namespace ProxyCore
|
||
|
{
|
||
|
public static class Log
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Write this into console window.
|
||
|
/// </summary>
|
||
|
/// <param name="msg">Message to write to console window.</param>
|
||
|
public static void Write(string msg)
|
||
|
{
|
||
|
Console.WriteLine(string.Format("[" + "{0:D2}" + ":" + "{1:D2}" + ":" + "{2:D2}" + "] ", DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second) + msg);
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Write an error message to console window and error.log
|
||
|
/// </summary>
|
||
|
/// <param name="msg"></param>
|
||
|
public static void Error(string msg)
|
||
|
{
|
||
|
Write(msg);
|
||
|
try
|
||
|
{
|
||
|
StreamWriter f = new StreamWriter("error.log", true);
|
||
|
f.WriteLine(string.Format("[" + "{0:D2}" + ":" + "{1:D2}" + ":" + "{2:D2}" + "] ", DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second) + msg);
|
||
|
f.Close();
|
||
|
}
|
||
|
catch
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Write a stacktrace when program crashes.
|
||
|
/// </summary>
|
||
|
/// <param name="StackTrace">Trace to write.</param>
|
||
|
public static void Crash(Exception e, string Module)
|
||
|
{
|
||
|
string[] E = e.StackTrace.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
|
||
|
World.Instance.SendMessage("@RCRASH: Proxy crashed in module \"@w" + Module + "@R\"! Check error.log for details and send stack trace to author of module.");
|
||
|
Error("Program crashed in module (" + Module + ") with exception: \"" + e.Message + "\", type: \"" + e.GetType().ToString() + "\", trace:");
|
||
|
foreach(string x in E)
|
||
|
Error(x);
|
||
|
Error("Trace end.");
|
||
|
}
|
||
|
}
|
||
|
}
|