Fixed some text and added some missing texts to commands. Added new command to clear screen and formated code.
This commit is contained in:
@@ -1,53 +1,60 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PluginManager.Others.Logger
|
||||
namespace PluginManager.Others.Logger;
|
||||
|
||||
public class DBLogger
|
||||
{
|
||||
public class DBLogger
|
||||
public delegate void LogHandler(string message, LogLevel logType);
|
||||
|
||||
private readonly string _errFolder;
|
||||
|
||||
private readonly string _logFolder;
|
||||
private readonly List<LogMessage> ErrorHistory = new();
|
||||
private readonly List<LogMessage> LogHistory = new();
|
||||
|
||||
public DBLogger()
|
||||
{
|
||||
|
||||
private List<LogMessage> LogHistory = new List<LogMessage>();
|
||||
private List<LogMessage> ErrorHistory = new List<LogMessage>();
|
||||
_logFolder = Config.Data["LogFolder"];
|
||||
_errFolder = Config.Data["ErrorFolder"];
|
||||
}
|
||||
|
||||
public IReadOnlyList<LogMessage> Logs => LogHistory;
|
||||
public IReadOnlyList<LogMessage> Errors => ErrorHistory;
|
||||
public IReadOnlyList<LogMessage> Logs => LogHistory;
|
||||
public IReadOnlyList<LogMessage> Errors => ErrorHistory;
|
||||
|
||||
public delegate void LogHandler(string message, LogLevel logType);
|
||||
public event LogHandler LogEvent;
|
||||
public event LogHandler LogEvent;
|
||||
|
||||
private string _logFolder;
|
||||
private string _errFolder;
|
||||
public void Log(string message, string sender = "unknown", LogLevel type = LogLevel.INFO)
|
||||
{
|
||||
Log(new LogMessage(message, type, sender));
|
||||
}
|
||||
|
||||
public DBLogger()
|
||||
{
|
||||
_logFolder = Config.Data["LogFolder"];
|
||||
_errFolder = Config.Data["ErrorFolder"];
|
||||
}
|
||||
public void Error(Exception? e)
|
||||
{
|
||||
Log(e.Message, e.Source, LogLevel.ERROR);
|
||||
}
|
||||
|
||||
public void Log(string message, string sender = "unknown", LogLevel type = LogLevel.INFO) => Log(new LogMessage(message, type, sender));
|
||||
public void Error(Exception? e) => Log(e.Message, e.Source, LogLevel.ERROR);
|
||||
public void Log(LogMessage message)
|
||||
{
|
||||
if (LogEvent is not null)
|
||||
LogEvent?.Invoke(message.Message, message.Type);
|
||||
|
||||
public void Log(LogMessage message)
|
||||
{
|
||||
if(LogEvent is not null)
|
||||
LogEvent?.Invoke(message.Message, message.Type);
|
||||
if (message.Type != LogLevel.ERROR && message.Type != LogLevel.CRITICAL)
|
||||
LogHistory.Add(message);
|
||||
else
|
||||
ErrorHistory.Add(message);
|
||||
}
|
||||
|
||||
if (message.Type != LogLevel.ERROR && message.Type != LogLevel.CRITICAL)
|
||||
LogHistory.Add(message);
|
||||
else
|
||||
ErrorHistory.Add(message);
|
||||
}
|
||||
public void Log(string message, object sender, LogLevel type = LogLevel.NONE)
|
||||
{
|
||||
Log(message, sender.GetType().Name, type);
|
||||
}
|
||||
|
||||
public void Log(string message, object sender, LogLevel type = LogLevel.NONE) => Log(message, sender.GetType().Name, type);
|
||||
|
||||
public async void SaveToFile()
|
||||
{
|
||||
await Functions.SaveToJsonFile(_logFolder + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".json", LogHistory);
|
||||
await Functions.SaveToJsonFile(_errFolder + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".json", ErrorHistory);
|
||||
}
|
||||
public async void SaveToFile()
|
||||
{
|
||||
await Functions.SaveToJsonFile(_logFolder + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".json",
|
||||
LogHistory);
|
||||
await Functions.SaveToJsonFile(_errFolder + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".json",
|
||||
ErrorHistory);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,43 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace PluginManager.Others.Logger
|
||||
namespace PluginManager.Others.Logger;
|
||||
|
||||
public class LogMessage
|
||||
{
|
||||
public class LogMessage
|
||||
public LogMessage(string message, LogLevel type)
|
||||
{
|
||||
public string Message { get; set; }
|
||||
public LogLevel Type { get; set; }
|
||||
public string Time { get; set; }
|
||||
public string Sender { get; set; }
|
||||
public LogMessage(string message, LogLevel type)
|
||||
{
|
||||
Message = message;
|
||||
Type = type;
|
||||
Time = DateTime.Now.ToString("HH:mm:ss");
|
||||
}
|
||||
Message = message;
|
||||
Type = type;
|
||||
Time = DateTime.Now.ToString("HH:mm:ss");
|
||||
}
|
||||
|
||||
public LogMessage(string message, LogLevel type, string sender) : this(message, type)
|
||||
{
|
||||
Sender = sender;
|
||||
}
|
||||
public LogMessage(string message, LogLevel type, string sender) : this(message, type)
|
||||
{
|
||||
Sender = sender;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"[{Time}] {Message}";
|
||||
}
|
||||
public string Message { get; set; }
|
||||
public LogLevel Type { get; set; }
|
||||
public string Time { get; set; }
|
||||
public string Sender { get; set; }
|
||||
|
||||
public static explicit operator LogMessage(string message)
|
||||
{
|
||||
return new LogMessage(message, LogLevel.INFO);
|
||||
}
|
||||
public override string ToString()
|
||||
{
|
||||
return $"[{Time}] {Message}";
|
||||
}
|
||||
|
||||
public static explicit operator LogMessage((string message, LogLevel type) tuple)
|
||||
{
|
||||
return new LogMessage(tuple.message, tuple.type);
|
||||
}
|
||||
public static explicit operator LogMessage(string message)
|
||||
{
|
||||
return new LogMessage(message, LogLevel.INFO);
|
||||
}
|
||||
|
||||
public static explicit operator LogMessage((string message, LogLevel type, string sender) tuple)
|
||||
{
|
||||
return new LogMessage(tuple.message, tuple.type, tuple.sender);
|
||||
}
|
||||
public static explicit operator LogMessage((string message, LogLevel type) tuple)
|
||||
{
|
||||
return new LogMessage(tuple.message, tuple.type);
|
||||
}
|
||||
|
||||
public static explicit operator LogMessage((string message, LogLevel type, string sender) tuple)
|
||||
{
|
||||
return new LogMessage(tuple.message, tuple.type, tuple.sender);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user