diff --git a/src/log4net/Util/AppenderAttachedImpl.cs b/src/log4net/Util/AppenderAttachedImpl.cs
index e1ed3502..9657ef85 100644
--- a/src/log4net/Util/AppenderAttachedImpl.cs
+++ b/src/log4net/Util/AppenderAttachedImpl.cs
@@ -71,9 +71,7 @@ public int AppendLoopOnAppenders(LoggingEvent loggingEvent)
return 0;
}
- _appenderArray ??= _appenderList.ToArray();
-
- foreach (IAppender appender in _appenderArray)
+ foreach (IAppender appender in _appenderList.ToArray())
{
try
{
@@ -116,9 +114,7 @@ public int AppendLoopOnAppenders(LoggingEvent[] loggingEvents)
return 0;
}
- _appenderArray ??= _appenderList.ToArray();
-
- foreach (IAppender appender in _appenderArray)
+ foreach (IAppender appender in _appenderList.ToArray())
{
try
{
@@ -173,7 +169,6 @@ private static void CallAppend(IAppender appender, LoggingEvent[] loggingEvents)
public void AddAppender(IAppender appender)
{
appender.EnsureNotNull();
- _appenderArray = null;
_appenderList ??= new(1);
if (!_appenderList.Contains(appender))
{
@@ -223,7 +218,7 @@ public AppenderCollection Appenders
{
if (_appenderList is not null && name is not null)
{
- foreach (IAppender appender in _appenderList)
+ foreach (IAppender appender in _appenderList.ToArray())
{
if (name == appender.Name)
{
@@ -246,7 +241,7 @@ public void RemoveAllAppenders()
{
if (_appenderList is not null)
{
- foreach (IAppender appender in _appenderList)
+ foreach (IAppender appender in _appenderList.ToArray())
{
try
{
@@ -258,7 +253,6 @@ public void RemoveAllAppenders()
}
}
_appenderList = null;
- _appenderArray = null;
}
}
@@ -283,7 +277,6 @@ public void RemoveAllAppenders()
{
_appenderList = null;
}
- _appenderArray = null;
}
return appender;
}
@@ -307,11 +300,6 @@ public void RemoveAllAppenders()
///
private AppenderCollection? _appenderList;
- ///
- /// Array of appenders, used to cache the appenderList
- ///
- private IAppender[]? _appenderArray;
-
///
/// The fully qualified type of the AppenderAttachedImpl class.
///
@@ -320,4 +308,4 @@ public void RemoveAllAppenders()
/// log message.
///
private static readonly Type _declaringType = typeof(AppenderAttachedImpl);
-}
\ No newline at end of file
+}