SecondBot/Shared/Static/LogFormater.cs
Madpeter d5853dd4de Multiple improvements
Merged IM and Chat command groups.
Changed return hints for failures to ReturnHintsFailure so the wiki make can mark errors.
Added missing arg hints for Notecard commands.
Added new NotecardDirectSend command for speed runners.
Improved About info for GroupAddRole command.
Corrected About info for GroupInvite command.
GoHome command moved to self workgroup.
2021-11-13 13:41:50 +00:00

117 lines
3.4 KiB
C#

using System;
using System.Text;
namespace BetterSecondBotShared.logs
{
public enum ConsoleLogLogLevel
{
Status,
Info,
Crit,
Warn,
Debug,
};
public static class LogFormater
{
public static string Warn(string message,bool send_to_console)
{
return Add(message, ConsoleLogLogLevel.Warn, send_to_console);
}
public static string Crit(string message, bool send_to_console)
{
return Add(message, ConsoleLogLogLevel.Crit, send_to_console);
}
public static string Info(string message, bool send_to_console)
{
return Add(message, ConsoleLogLogLevel.Info, send_to_console);
}
public static string Status(string message, bool send_to_console)
{
return Add(message, ConsoleLogLogLevel.Status, send_to_console);
}
public static string Debug(string message, bool send_to_console)
{
return Add(message, ConsoleLogLogLevel.Debug, send_to_console);
}
public static string Warn(string message)
{
return Warn(message, true);
}
public static string Crit(string message)
{
return Crit(message, true);
}
public static string Info(string message)
{
return Info(message, true);
}
public static string Status(string message)
{
return Status(message, true);
}
public static string Debug(string message)
{
return Debug(message, true);
}
private static string Add(string message, ConsoleLogLogLevel Level, bool send_to_console = true)
{
var date = DateTime.Now;
StringBuilder n = new StringBuilder();
n.Append("[");
if (date.Hour < 10)
{
n.Append("0");
}
n.Append(date.Hour.ToString());
n.Append(":");
if (date.Minute < 10)
{
n.Append("0");
}
n.Append(date.Minute.ToString());
n.Append("] ");
switch (Level)
{
#if DEBUG
case ConsoleLogLogLevel.Debug:
{
n.Append("Debug - ");
break;
}
case ConsoleLogLogLevel.Info:
{
n.Append("Info - ");
break;
}
#endif
case ConsoleLogLogLevel.Status:
{
n.Append("Status - ");
break;
}
case ConsoleLogLogLevel.Warn:
{
n.Append("Warn - ");
break;
}
case ConsoleLogLogLevel.Crit:
{
n.Append("Crit - ");
break;
}
default:
{
n.Append("Log - ");
break;
}
}
n.Append(message);
if(send_to_console == true)
{
Console.WriteLine(n.ToString());
}
return n.ToString();
}
}
}