This commit is contained in:
Jeroen Saey
2025-02-18 08:38:52 +01:00
parent a5c00a07e1
commit 3cec432b39
5 changed files with 67 additions and 29 deletions

View File

@@ -3,7 +3,7 @@
<TargetFrameworks>.netstandard2.1; net6.0; net7.0; net8.0; net4.8;</TargetFrameworks>
<ApplicationIcon>icon.ico</ApplicationIcon>
<LangVersion>latest</LangVersion>
<FileVersion>1.4.1</FileVersion>
<FileVersion>1.4.2</FileVersion>
<Authors>EonaCat (Jeroen Saey)</Authors>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Company>EonaCat (Jeroen Saey)</Company>
@@ -24,7 +24,7 @@
</PropertyGroup>
<PropertyGroup>
<EVRevisionFormat>1.4.1+{chash:10}.{c:ymd}</EVRevisionFormat>
<EVRevisionFormat>1.4.2+{chash:10}.{c:ymd}</EVRevisionFormat>
<EVDefault>true</EVDefault>
<EVInfo>true</EVInfo>
<EVTagMatch>v[0-9]*</EVTagMatch>

View File

@@ -21,7 +21,7 @@ public class ErrorMessage
public string Message { get; set; }
}
internal static class LogHelper
public static class LogHelper
{
internal static event EventHandler<ErrorMessage> 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;
@@ -476,8 +498,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?.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;

View File

@@ -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;

View File

@@ -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<ELogType> _defaultLogTypes = new List<ELogType> { ELogType.INFO, ELogType.WARNING, ELogType.ERROR, ELogType.TRAFFIC, ELogType.DEBUG, ELogType.CRITICAL, ELogType.TRACE };
private List<ELogType> _logTypes = new List<ELogType> { ELogType.INFO, ELogType.WARNING, ELogType.ERROR, ELogType.TRAFFIC, ELogType.DEBUG, ELogType.CRITICAL, ELogType.TRACE };
public List<ELogType> TypesToLog
{

View File

@@ -8,7 +8,6 @@ namespace EonaCat.Logger.Test.Web;
public class Logger
{
private LogManager _logManager;
public List<ELogType> TypesToLog { get; set; } = new List<ELogType>();
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<ELogType> 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);
}