diff --git a/EonaCat.Logger/EonaCat.Logger.csproj b/EonaCat.Logger/EonaCat.Logger.csproj
index 293b593..a8ead5f 100644
--- a/EonaCat.Logger/EonaCat.Logger.csproj
+++ b/EonaCat.Logger/EonaCat.Logger.csproj
@@ -3,7 +3,7 @@
.netstandard2.1; net6.0; net7.0; net8.0; net4.8;
icon.ico
latest
- 1.4.1
+ 1.4.2
EonaCat (Jeroen Saey)
true
EonaCat (Jeroen Saey)
@@ -24,7 +24,7 @@
- 1.4.1+{chash:10}.{c:ymd}
+ 1.4.2+{chash:10}.{c:ymd}
true
true
v[0-9]*
diff --git a/EonaCat.Logger/Managers/LogHelper.cs b/EonaCat.Logger/Managers/LogHelper.cs
index 1f00edd..e88d3e0 100644
--- a/EonaCat.Logger/Managers/LogHelper.cs
+++ b/EonaCat.Logger/Managers/LogHelper.cs
@@ -21,7 +21,7 @@ public class ErrorMessage
public string Message { get; set; }
}
-internal static class LogHelper
+public static class LogHelper
{
internal static event EventHandler OnException;
@@ -156,7 +156,10 @@ internal static class LogHelper
internal static void SendToFile(ILogger logger, LoggerSettings settings, ELogType logType, string message)
{
- if (logger == null || settings == null || !settings.EnableFileLogging || string.IsNullOrWhiteSpace(message)) return;
+ if (logger == null || settings == null || !settings.EnableFileLogging || string.IsNullOrWhiteSpace(message))
+ {
+ return;
+ }
if (IsLogLevelEnabled(settings, logType))
{
@@ -166,21 +169,23 @@ internal static class LogHelper
private static bool IsLogLevelEnabled(LoggerSettings loggerSettings, ELogType logType)
{
- if (loggerSettings == null)
+ if (logType == ELogType.NONE)
{
- OnLogLevelDisabled?.Invoke(null, new ErrorMessage { Message = "Settings is null." });
+ OnLogLevelDisabled?.Invoke(null, new ErrorMessage { Message = "Logging is disabled for 'NONE' log type." });
return false;
}
- var isEnabled = loggerSettings.TypesToLog == null || loggerSettings.TypesToLog.Count == 0 || loggerSettings.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ var isEnabled = loggerSettings?.TypesToLog == null || loggerSettings.TypesToLog.Count == 0 || loggerSettings.TypesToLog.Contains(logType);
+ if (!isEnabled)
{
OnLogLevelDisabled?.Invoke(null, new ErrorMessage { Message = $"Logtype '{logType}' is not enabled." });
return false;
}
+
return true;
}
+
public static void AddLogLevel(LoggerSettings settings, ELogType logType)
{
if (logType == ELogType.NONE)
@@ -246,11 +251,16 @@ internal static class LogHelper
{
try
{
- bool isValid = TryGetEnumValue(logType, out ELogType currentLogType);
- if (isValid)
+ if (TryGetEnumValue(logType, out ELogType currentLogType))
{
- var isEnabled = splunkServer.TypesToLog == null || splunkServer.TypesToLog.Count == 0 || splunkServer.TypesToLog.Contains(currentLogType);
- if (currentLogType == ELogType.NONE || !isEnabled)
+ if (currentLogType == ELogType.NONE)
+ {
+ splunkServer?.DisposeHttpClient();
+ return;
+ }
+
+ var isEnabled = (splunkServer?.TypesToLog == null || splunkServer.TypesToLog.Count == 0 || splunkServer.TypesToLog.Contains(currentLogType));
+ if (!isEnabled)
{
splunkServer?.DisposeHttpClient();
return;
@@ -340,8 +350,14 @@ internal static class LogHelper
{
try
{
- var isEnabled = grayLogServer.TypesToLog == null || grayLogServer.TypesToLog.Count == 0 || grayLogServer.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ if (logType == ELogType.NONE)
+ {
+ grayLogServer?.DisposeUdp();
+ return;
+ }
+
+ var isEnabled = (grayLogServer?.TypesToLog == null || grayLogServer.TypesToLog.Count == 0 || grayLogServer.TypesToLog.Contains(logType));
+ if (!isEnabled)
{
grayLogServer?.DisposeUdp();
return;
@@ -423,8 +439,14 @@ internal static class LogHelper
{
try
{
- var isEnabled = server.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ if (logType == ELogType.NONE)
+ {
+ server?.DisposeUdp();
+ return;
+ }
+
+ var isEnabled = (server?.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType));
+ if (!isEnabled)
{
server?.DisposeUdp();
return;
@@ -469,15 +491,21 @@ internal static class LogHelper
{
return;
}
-
+
var tasks = settings.TcpServers?
.Where(server => !string.IsNullOrWhiteSpace(server.Hostname) && server.Port >= 0)
.Select(async server =>
{
try
{
- var isEnabled = server.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ if (logType == ELogType.NONE)
+ {
+ server?.DisposeTcp();
+ return;
+ }
+
+ var isEnabled = (server?.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType));
+ if (!isEnabled)
{
server?.DisposeTcp();
return;
@@ -522,8 +550,14 @@ internal static class LogHelper
{
try
{
- var isEnabled = server.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ if (logType == ELogType.NONE)
+ {
+ server?.DisposeUdp();
+ return;
+ }
+
+ var isEnabled = (server?.TypesToLog == null || server.TypesToLog.Count == 0 || server.TypesToLog.Contains(logType));
+ if (!isEnabled)
{
server?.DisposeUdp();
return;
diff --git a/EonaCat.Logger/Managers/LogManager.cs b/EonaCat.Logger/Managers/LogManager.cs
index 113a8ae..4ad0ad3 100644
--- a/EonaCat.Logger/Managers/LogManager.cs
+++ b/EonaCat.Logger/Managers/LogManager.cs
@@ -247,10 +247,14 @@ namespace EonaCat.Logger.Managers
return false;
}
- var isEnabled = Settings.TypesToLog == null || Settings.TypesToLog.Count == 0 || Settings.TypesToLog.Contains(logType);
- if (logType == ELogType.NONE || !isEnabled)
+ if (logType == ELogType.NONE)
+ {
+ return false;
+ }
+
+ var isEnabled = (Settings.TypesToLog == null || Settings.TypesToLog.Count == 0 || Settings.TypesToLog.Contains(logType));
+ if (!isEnabled)
{
- OnLogLevelDisabled?.Invoke(this, new ErrorMessage { Message = $"Logtype '{logType}' is not enabled, cannot log message" });
return false;
}
return true;
diff --git a/EonaCat.Logger/Managers/LoggerSettings.cs b/EonaCat.Logger/Managers/LoggerSettings.cs
index accdb41..b072a8e 100644
--- a/EonaCat.Logger/Managers/LoggerSettings.cs
+++ b/EonaCat.Logger/Managers/LoggerSettings.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Net.Sockets;
using System.Text.RegularExpressions;
+using EonaCat.Json.Linq;
using EonaCat.Logger.EonaCatCoreLogger;
using EonaCat.Logger.EonaCatCoreLogger.Models;
using EonaCat.Logger.Servers.GrayLog;
@@ -119,6 +120,7 @@ public class LoggerSettings
}
}
+ private readonly List _defaultLogTypes = new List { ELogType.INFO, ELogType.WARNING, ELogType.ERROR, ELogType.TRAFFIC, ELogType.DEBUG, ELogType.CRITICAL, ELogType.TRACE };
private List _logTypes = new List { ELogType.INFO, ELogType.WARNING, ELogType.ERROR, ELogType.TRAFFIC, ELogType.DEBUG, ELogType.CRITICAL, ELogType.TRACE };
public List TypesToLog
{
@@ -128,7 +130,7 @@ public class LoggerSettings
}
set
- {
+ {
_logTypes = value;
}
}
diff --git a/Testers/EonaCat.Logger.Test.Web/Logger.cs b/Testers/EonaCat.Logger.Test.Web/Logger.cs
index fd5ddf3..0a27356 100644
--- a/Testers/EonaCat.Logger.Test.Web/Logger.cs
+++ b/Testers/EonaCat.Logger.Test.Web/Logger.cs
@@ -8,7 +8,6 @@ namespace EonaCat.Logger.Test.Web;
public class Logger
{
private LogManager _logManager;
- public List TypesToLog { get; set; } = new List();
public LoggerSettings LoggerSettings { get; }
public bool UseLocalTime { get; set; }
public string LogFolder { get; set; } = Path.Combine(FileLoggerOptions.DefaultPath, "logs");
@@ -25,12 +24,11 @@ public class Logger
public Logger(string name = "EonaCatTestLogger", List typesToLog = null, bool useLocalTime = false, int maxFileSize = 20_000_000)
{
UseLocalTime = useLocalTime;
- TypesToLog = typesToLog;
LoggerSettings = new LoggerSettings
{
Id = name,
- TypesToLog = TypesToLog,
+ TypesToLog = typesToLog,
UseLocalTime = UseLocalTime,
FileLoggerOptions =
{
@@ -136,7 +134,7 @@ public class Logger
return;
}
- if (TypesToLog.Contains(ELogType.ERROR))
+ if (LoggerSettings.TypesToLog.Contains(ELogType.ERROR))
{
await _logManager.WriteAsync(exception, message, writeToConsole: writeToConsole).ConfigureAwait(false);
}