Reformatting code
This commit is contained in:
@@ -4,60 +4,46 @@ using PluginManager.Interfaces.Logger;
|
||||
|
||||
namespace PluginManager.Others.Logger;
|
||||
|
||||
public class Log : ILog
|
||||
public class Log: ILog
|
||||
{
|
||||
public string Message { get; set; }
|
||||
public string OutputFile { get; set; }
|
||||
public Type? Source { get; set; }
|
||||
public LogType Type { get; set; }
|
||||
public DateTime ThrowTime { get; set; }
|
||||
|
||||
public Log(string message, string outputFile, Type? source, LogType type, DateTime throwTime)
|
||||
public string Message { get; set; }
|
||||
public Type? Source { get; set; }
|
||||
public LogType Type { get; set; }
|
||||
public DateTime ThrowTime { get; set; }
|
||||
|
||||
public Log(string message, Type? source, LogType type, DateTime throwTime)
|
||||
{
|
||||
Message = message;
|
||||
OutputFile = outputFile;
|
||||
Source = source;
|
||||
Type = type;
|
||||
ThrowTime = throwTime;
|
||||
Message = message;
|
||||
Source = source;
|
||||
Type = type;
|
||||
ThrowTime = throwTime;
|
||||
}
|
||||
|
||||
public Log(string message, string outputFile, Type? source, LogType type)
|
||||
|
||||
public Log(string message, Type? source, LogType type)
|
||||
{
|
||||
Message = message;
|
||||
OutputFile = outputFile;
|
||||
Source = source;
|
||||
Type = type;
|
||||
ThrowTime = DateTime.Now;
|
||||
Message = message;
|
||||
Source = source;
|
||||
Type = type;
|
||||
ThrowTime = DateTime.Now;
|
||||
}
|
||||
|
||||
public Log(string message, string outputFile, Type? source)
|
||||
|
||||
public Log(string message, Type? source)
|
||||
{
|
||||
Message = message;
|
||||
OutputFile = outputFile;
|
||||
Source = source;
|
||||
Type = LogType.INFO;
|
||||
ThrowTime = DateTime.Now;
|
||||
Message = message;
|
||||
Source = source;
|
||||
Type = LogType.INFO;
|
||||
ThrowTime = DateTime.Now;
|
||||
}
|
||||
|
||||
public Log(string message, string outputFile)
|
||||
{
|
||||
Message = message;
|
||||
OutputFile = outputFile;
|
||||
Source = typeof(Log);
|
||||
Type = LogType.INFO;
|
||||
ThrowTime = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
public Log(string message)
|
||||
{
|
||||
Message = message;
|
||||
OutputFile = "";
|
||||
Source = typeof(Log);
|
||||
Type = LogType.INFO;
|
||||
ThrowTime = DateTime.Now;
|
||||
Message = message;
|
||||
Source = typeof(Log);
|
||||
Type = LogType.INFO;
|
||||
ThrowTime = DateTime.Now;
|
||||
}
|
||||
|
||||
public static implicit operator Log(string message) => new (message);
|
||||
|
||||
public static implicit operator Log(string message) => new(message);
|
||||
|
||||
public static implicit operator string(Log log) => $"[{log.ThrowTime}] {log.Message}";
|
||||
|
||||
@@ -65,7 +51,7 @@ public class Log : ILog
|
||||
{
|
||||
return $"[{ThrowTime}] [{Source}] [{Type}] {Message}";
|
||||
}
|
||||
|
||||
|
||||
public string AsShortString()
|
||||
{
|
||||
return this;
|
||||
|
||||
@@ -6,64 +6,72 @@ using PluginManager.Interfaces.Logger;
|
||||
|
||||
namespace PluginManager.Others.Logger;
|
||||
|
||||
public sealed class Logger : ILogger
|
||||
public sealed class Logger: ILogger
|
||||
{
|
||||
public bool IsEnabled { get; init; }
|
||||
public bool OutputToFile { get; init; }
|
||||
public bool IsEnabled { get; init; }
|
||||
public bool OutputToFile { get; init; }
|
||||
public string? OutputFile { get; init; }
|
||||
|
||||
private LogType LowestLogLevel { get; }
|
||||
private bool UseShortVersion { get; }
|
||||
|
||||
public Logger(bool useShortVersion, bool outputToFile, LogType lowestLogLevel = LogType.INFO)
|
||||
private LogType LowestLogLevel { get; }
|
||||
private bool UseShortVersion { get; }
|
||||
|
||||
public Logger(bool useShortVersion, bool outputToFile, string outputFile, LogType lowestLogLevel = LogType.INFO)
|
||||
{
|
||||
UseShortVersion = useShortVersion;
|
||||
OutputToFile = outputToFile;
|
||||
IsEnabled = true;
|
||||
LowestLogLevel = lowestLogLevel;
|
||||
OutputFile = outputFile;
|
||||
}
|
||||
|
||||
public Logger(bool useShortVersion, LogType lowestLogLevel = LogType.INFO)
|
||||
{
|
||||
UseShortVersion = useShortVersion;
|
||||
OutputToFile = false;
|
||||
IsEnabled = true;
|
||||
LowestLogLevel = lowestLogLevel;
|
||||
OutputFile = null;
|
||||
}
|
||||
|
||||
public event EventHandler<Log>? OnLog;
|
||||
|
||||
|
||||
private async Task Log(Log logMessage)
|
||||
{
|
||||
if (!IsEnabled) return;
|
||||
|
||||
|
||||
OnLog?.Invoke(this, logMessage);
|
||||
|
||||
|
||||
if (logMessage.Type < LowestLogLevel) return;
|
||||
|
||||
if (OutputToFile)
|
||||
await File.AppendAllTextAsync(
|
||||
logMessage.OutputFile,
|
||||
(UseShortVersion ? logMessage : logMessage.AsLongString()) + "\n");
|
||||
OutputFile!,
|
||||
(UseShortVersion ? logMessage : logMessage.AsLongString()) + "\n"
|
||||
);
|
||||
}
|
||||
|
||||
public async void Log(string message = "", string outputFile = "", Type? source = default, LogType type = LogType.INFO, DateTime throwTime = default)
|
||||
|
||||
public async void Log(string message = "", Type? source = default, LogType type = LogType.INFO, DateTime throwTime = default)
|
||||
{
|
||||
if (!IsEnabled) return;
|
||||
|
||||
|
||||
if (type < LowestLogLevel) return;
|
||||
|
||||
if (string.IsNullOrEmpty(message)) return;
|
||||
|
||||
if (string.IsNullOrEmpty(outputFile)) outputFile = Config.AppSettings["LogFolder"] + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";
|
||||
|
||||
if(throwTime == default) throwTime = DateTime.Now;
|
||||
|
||||
if (throwTime == default) throwTime = DateTime.Now;
|
||||
|
||||
if (source == default) source = typeof(Log);
|
||||
|
||||
await Log(new Log(message, outputFile, source, type, throwTime));
|
||||
|
||||
|
||||
await Log(new Log(message, source, type, throwTime));
|
||||
|
||||
}
|
||||
|
||||
public async void Log(Exception exception, LogType logType = LogType.ERROR, Type? source = null)
|
||||
{
|
||||
if (!IsEnabled) return;
|
||||
|
||||
|
||||
if (logType < LowestLogLevel) return;
|
||||
|
||||
await Log(new Log(exception.Message,
|
||||
Config.AppSettings["LogFolder"] + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".log",
|
||||
source, logType, DateTime.Now));
|
||||
await Log(new Log(exception.Message, source, logType, DateTime.Now));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user