This is an automated email from the ASF dual-hosted git repository.
freeandnil pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git
The following commit(s) were added to refs/heads/master by this push:
new 95104eb8 Fast fix for NullRefException from FileAppender
95104eb8 is described below
commit 95104eb82b01c13638eca89a68f584affa3e37e1
Author: Erik Mavrinac <[email protected]>
AuthorDate: Fri Mar 8 15:01:40 2024 -0800
Fast fix for NullRefException from FileAppender
---
src/log4net.Tests/Appender/RollingFileAppenderTest.cs | 11 +++++++++++
src/log4net.Tests/log4net.Tests.csproj | 1 +
src/log4net/Appender/FileAppender.cs | 4 ++--
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
index c6e59387..101b390b 100644
--- a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
+++ b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs
@@ -2013,6 +2013,17 @@ namespace log4net.Tests.Appender
VerifyInitializeRollBackups(8, iMaxRollBackups);
}
+ /// <summary>
+ /// Ensures that no problems result from creating and then closing the
appender
+ /// when it has not also been initialized with ActivateOptions().
+ /// </summary>
+ [Test]
+ public void TestCreateCloseNoActivateOptions()
+ {
+ var appender = new RollingFileAppender();
+ appender.Close();
+ }
+
/// <summary>
///
/// </summary>
diff --git a/src/log4net.Tests/log4net.Tests.csproj
b/src/log4net.Tests/log4net.Tests.csproj
index 414b2a2d..23090bb6 100644
--- a/src/log4net.Tests/log4net.Tests.csproj
+++ b/src/log4net.Tests/log4net.Tests.csproj
@@ -68,6 +68,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers;
buildtransitive</IncludeAssets>
</PackageReference>
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="NUnit" Version="3.14.0" />
<PackageReference Include="NExpect" Version="1.0.273" />
<PackageReference Include="Quackers.TestLogger" Version="1.0.24" />
diff --git a/src/log4net/Appender/FileAppender.cs
b/src/log4net/Appender/FileAppender.cs
index 4179190d..14a3e359 100644
--- a/src/log4net/Appender/FileAppender.cs
+++ b/src/log4net/Appender/FileAppender.cs
@@ -169,7 +169,7 @@ namespace log4net.Appender
}
private Stream m_realStream = null;
- private LockingModelBase m_lockingModel = null;
+ private readonly LockingModelBase m_lockingModel;
private int m_lockLevel = 0;
public LockingStream(LockingModelBase locking)
@@ -1306,7 +1306,7 @@ namespace log4net.Appender
protected override void OnClose()
{
base.OnClose();
- m_lockingModel.OnClose();
+ m_lockingModel?.OnClose();
}
/// <summary>