Composite logger fix for different child logger severity settings

This commit is contained in:
Timerix 2025-04-06 14:51:09 +05:00
parent 26c118195c
commit af658b1656
2 changed files with 18 additions and 26 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<!--package info-->
<PackageId>DTLib</PackageId>
<Version>1.7.0</Version>
<Version>1.7.1</Version>
<Authors>Timerix</Authors>
<Description>Library for all my C# projects</Description>
<RepositoryType>GIT</RepositoryType>

View File

@ -11,8 +11,8 @@ public class CompositeLogger : ILogger
set
{
_debugLogEnabled = value;
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].DebugLogEnabled = value;
foreach (var childLogger in ChildLoggers)
childLogger.DebugLogEnabled = value;
}
}
@ -22,8 +22,8 @@ public class CompositeLogger : ILogger
set
{
_infoLogEnabled = true;
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].InfoLogEnabled = value;
foreach (var childLogger in ChildLoggers)
childLogger.InfoLogEnabled = value;
}
}
@ -33,8 +33,8 @@ public class CompositeLogger : ILogger
set
{
_warnLogEnabled = value;
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].WarnLogEnabled = value;
foreach (var childLogger in ChildLoggers)
childLogger.WarnLogEnabled = value;
}
}
@ -44,46 +44,38 @@ public class CompositeLogger : ILogger
set
{
_errorLogenabled = value;
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].ErrorLogEnabled = value;
foreach (var childLogger in ChildLoggers)
childLogger.ErrorLogEnabled = value;
}
}
public ILogFormat Format { get; set; }
public readonly List<ILogger> ChildLoggers;
protected ILogger[] _loggers;
private bool _debugLogEnabled =
#if DEBUG
true;
#else
false;
#endif
private bool _debugLogEnabled;
private bool _infoLogEnabled = true;
private bool _warnLogEnabled = true;
private bool _errorLogenabled = true;
public CompositeLogger(ILogFormat format, params ILogger[] loggers)
public CompositeLogger(ILogFormat format, params ILogger[] childLoggers)
{
Format = format;
_loggers = loggers;
ChildLoggers = new List<ILogger>(childLoggers);
}
public CompositeLogger(params ILogger[] loggers) : this(new DefaultLogFormat(), loggers)
public CompositeLogger(params ILogger[] childLoggers) : this(new DefaultLogFormat(), childLoggers)
{}
public void Log(string context, LogSeverity severity, object message, ILogFormat format)
{
if(!this.CheckSeverity(severity))
return;
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].Log(context, severity, message, format);
foreach (var childLogger in ChildLoggers)
childLogger.Log(context, severity, message, format);
}
public void Dispose()
{
for (int i = 0; i < _loggers.Length; i++)
_loggers[i].Dispose();
foreach (var childLogger in ChildLoggers)
childLogger.Dispose();
}
}