diff --git a/Entities/LogEntry.cs b/Entities/LogEntry.cs index 216ca0e..081bae6 100644 --- a/Entities/LogEntry.cs +++ b/Entities/LogEntry.cs @@ -2,11 +2,32 @@ public class LogEntry { + internal LogEntry() { } + internal string RawMessage { get; set; } - public DateTime TimeOfEvent { get; set; } - public CustomLogLevel LogLevel { get; set; } - public string Message { get; set; } - public object[] Args { get; set; } - public Exception? Exception { get; set; } + /// + /// The time of the event. + /// + public DateTime TimeOfEvent { get; internal set; } + + /// + /// The severity of the event. + /// + public CustomLogLevel LogLevel { get; internal set; } + + /// + /// The message describing the event. + /// + public string Message { get; internal set; } + + /// + /// Any objects involved in creating the event message. + /// + public object[] Args { get; internal set; } = Array.Empty(); + + /// + /// The exception that's been caused. + /// + public Exception? Exception { get; internal set; } } \ No newline at end of file diff --git a/LoggerClient.cs b/LoggerClient.cs index b600eba..c59064c 100644 --- a/LoggerClient.cs +++ b/LoggerClient.cs @@ -3,16 +3,17 @@ using Xorog.Logger.EventArgs; namespace Xorog.Logger; -#pragma warning disable IDE1006 // Naming Styles - -public class LoggerClient : ILogger +public sealed class LoggerClient : ILogger { internal LoggerClient() { } - public LoggerProvider _provider { get; internal set; } + /// + /// The . + /// + public LoggerProvider Provider { get; internal set; } - private bool loggerStarted = false; - private CustomLogLevel maxLogLevel = CustomLogLevel.Debug; + private bool LoggerStarted = false; + private CustomLogLevel MaxLogLevel = CustomLogLevel.Debug; private string FileName = ""; private FileStream OpenedFile { get; set; } @@ -23,6 +24,9 @@ public class LoggerClient : ILogger private Task RunningLogger = null; + /// + /// Fired when a log message has been sent. + /// public event EventHandler LogRaised; @@ -43,9 +47,9 @@ public class LoggerClient : ILogger filePath = filePath.Replace("\\", "/"); var handler = new LoggerClient(); - handler._provider = new(handler); + handler.Provider = new(handler); - if (handler.loggerStarted) + if (handler.LoggerStarted) throw new Exception($"The logger is already started"); if (filePath is not "") @@ -62,8 +66,8 @@ public class LoggerClient : ILogger handler.OpenedFile = File.Open(handler.FileName, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.Read); } - handler.loggerStarted = true; - handler.maxLogLevel = level; + handler.LoggerStarted = true; + handler.MaxLogLevel = level; if (cleanUpBefore != new DateTime()) { @@ -90,7 +94,7 @@ public class LoggerClient : ILogger handler.RunningLogger = Task.Run(async () => { - while (handler.loggerStarted) + while (handler.LoggerStarted) { try { @@ -209,7 +213,7 @@ public class LoggerClient : ILogger attemptedParsing = false; } - if (handler.maxLogLevel >= currentLog.LogLevel) + if (handler.MaxLogLevel >= currentLog.LogLevel) { Console.ResetColor(); Console.Write($"[{currentLog.TimeOfEvent:dd.MM.yyyy HH:mm:ss:fff}] "); Console.ForegroundColor = LogLevelColor; Console.BackgroundColor = BackgroundColor; Console.Write($"[{LogLevelText}]"); Console.ResetColor(); Console.Write(" "); @@ -283,8 +287,8 @@ public class LoggerClient : ILogger /// public void StopLogger() { - loggerStarted = false; - maxLogLevel = CustomLogLevel.Debug; + LoggerStarted = false; + MaxLogLevel = CustomLogLevel.Debug; FileName = ""; Thread.Sleep(500); @@ -324,7 +328,7 @@ public class LoggerClient : ILogger /// Changes the log level /// /// The new log level to apply - public void ChangeLogLevel(CustomLogLevel level) => maxLogLevel = level; + public void ChangeLogLevel(CustomLogLevel level) => MaxLogLevel = level; /// /// Log with none log level @@ -682,7 +686,7 @@ public class LoggerClient : ILogger }); public bool IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) - => loggerStarted; + => LoggerStarted; public IDisposable BeginScope(TState state) => default!; diff --git a/LoggerProvider.cs b/LoggerProvider.cs index 2471ee6..39b21af 100644 --- a/LoggerProvider.cs +++ b/LoggerProvider.cs @@ -1,6 +1,6 @@ namespace Xorog.Logger; -public class LoggerProvider : ILoggerProvider +public sealed class LoggerProvider : ILoggerProvider { internal LoggerProvider(LoggerClient logger) {