This is an automated email from the ASF dual-hosted git repository.

davydm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git

commit 730d7bf695f4a02a9b7e1ffc10f5e2928df5bcc6
Author: Davyd McColl <[email protected]>
AuthorDate: Fri Jul 22 14:36:54 2022 +0200

    :white_check_mark: try to repro LOG4NET-611, but no go
---
 .../log4net-611-lib/DerivedAppender.cs             |  8 ++++
 .../log4net-611-lib/log4net-611-lib.csproj         | 15 +++++++
 .../log4net-611-main/Program.cs                    | 48 ++++++++++++++++++++++
 .../log4net-611-main/log4net-611-main.csproj       | 21 ++++++++++
 .../log4net-611-main/log4net.config                | 28 +++++++++++++
 src/log4net.sln                                    | 14 +++++++
 6 files changed, 134 insertions(+)

diff --git a/src/integration-testing/log4net-611-lib/DerivedAppender.cs 
b/src/integration-testing/log4net-611-lib/DerivedAppender.cs
new file mode 100644
index 00000000..a22b4267
--- /dev/null
+++ b/src/integration-testing/log4net-611-lib/DerivedAppender.cs
@@ -0,0 +1,8 @@
+using log4net.Appender;
+using log4net.Layout;
+
+namespace log4net_611_lib;
+
+public class DerivedAppender: RollingFileAppender
+{
+}
\ No newline at end of file
diff --git a/src/integration-testing/log4net-611-lib/log4net-611-lib.csproj 
b/src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
new file mode 100644
index 00000000..07a87a15
--- /dev/null
+++ b/src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
@@ -0,0 +1,15 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <RootNamespace>log4net_611_lib</RootNamespace>
+    <ImplicitUsings>disable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <LangVersion>latest</LangVersion>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="log4net" Version="2.0.14" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/integration-testing/log4net-611-main/Program.cs 
b/src/integration-testing/log4net-611-main/Program.cs
new file mode 100644
index 00000000..b0a7815c
--- /dev/null
+++ b/src/integration-testing/log4net-611-main/Program.cs
@@ -0,0 +1,48 @@
+// See https://aka.ms/new-console-template for more information
+
+using System.Reflection;
+using log4net;
+using log4net.Config;
+using log4net_611_lib;
+
+var appPath = new Uri(Assembly.GetExecutingAssembly().Location).LocalPath;
+var appFolder = Path.GetDirectoryName(appPath);
+// force loading the assembly, otherwise the appender type isn't found later
+Assembly.LoadFile(Path.Combine(appFolder, "log4net-611-lib.dll"));
+
+var configFile = Path.Combine(appFolder, "log4net.config");
+if (!File.Exists(configFile))
+{
+    throw new InvalidOperationException($"log4net.config not found at 
{configFile}");
+}
+
+if (Directory.Exists("Logs"))
+{
+    Console.WriteLine("Clearing out old logs...");
+    foreach (var file in Directory.EnumerateFiles("Logs"))
+    {
+        File.Delete(file);
+    }
+}
+
+var info = new FileInfo(configFile);
+var logRepo = LogManager.GetRepository(Assembly.GetExecutingAssembly());
+XmlConfigurator.ConfigureAndWatch(
+    logRepo,
+    info
+);
+
+var logger = LogManager.GetLogger(typeof(Program));
+
+Console.WriteLine("logging...");
+for (var i = 0; i < 10; i++)
+{
+    logger.Info($"test log {i}");
+}
+
+
+foreach (var file in Directory.EnumerateFiles("Logs"))
+{
+    Console.WriteLine($"log file: {file}");
+    Console.WriteLine(File.ReadAllText(file));
+}
\ No newline at end of file
diff --git a/src/integration-testing/log4net-611-main/log4net-611-main.csproj 
b/src/integration-testing/log4net-611-main/log4net-611-main.csproj
new file mode 100644
index 00000000..e6e8da91
--- /dev/null
+++ b/src/integration-testing/log4net-611-main/log4net-611-main.csproj
@@ -0,0 +1,21 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>net6.0</TargetFramework>
+    <RootNamespace>log4net_611_main</RootNamespace>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\log4net-611-lib\log4net-611-lib.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Update="log4net.config">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+</Project>
diff --git a/src/integration-testing/log4net-611-main/log4net.config 
b/src/integration-testing/log4net-611-main/log4net.config
new file mode 100644
index 00000000..08611e89
--- /dev/null
+++ b/src/integration-testing/log4net-611-main/log4net.config
@@ -0,0 +1,28 @@
+<log4net>
+  <appender name="LogFileAppenderXML" type="log4net_611_lib.DerivedAppender">  
                
+    <file value="Logs\.xml" />
+    <datePattern value="yyyy-MM-dd-'Xyz'" />
+    <appendToFile value="true" />
+    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />          
        
+    <rollingStyle value="Composite" />
+    <maxSizeRollBackups value="40" />
+    <maximumFileSize value="1KB" />
+    <preserveLogFileNameExtension value="true" />
+    <staticLogFileName value="false" />
+    <layout type="log4net.Layout.PatternLayout">
+      <conversionPattern value="[console] %message%newline" />
+    </layout>
+    <immediateFlush value="true" />
+  </appender>
+  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
+    <target value="Console.Out" />
+    <layout type="log4net.Layout.PatternLayout">
+      <conversionPattern value="[console] %message%newline" />
+    </layout>
+  </appender>
+  <root>
+    <level value="ALL"/>
+    <appender-ref ref="LogFileAppenderXML" />
+    <appender-ref ref="ConsoleAppender" />
+  </root>
+</log4net>    
\ No newline at end of file
diff --git a/src/log4net.sln b/src/log4net.sln
index eeaf125d..44750e9c 100644
--- a/src/log4net.sln
+++ b/src/log4net.sln
@@ -28,6 +28,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = 
"integration-testing", "inte
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net-672", 
"integration-testing\log4net-672\log4net-672.csproj", 
"{9050922E-E22E-4FF5-A1B0-2F21745C6882}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net-611-main", 
"integration-testing\log4net-611-main\log4net-611-main.csproj", 
"{2087EDC5-689F-406C-947C-06C5F321CA8C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "log4net-611-lib", 
"integration-testing\log4net-611-lib\log4net-611-lib.csproj", 
"{D818035F-0345-49EF-9AB9-021583986CE2}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Any CPU = Debug|Any CPU
@@ -46,11 +50,21 @@ Global
                {9050922E-E22E-4FF5-A1B0-2F21745C6882}.Debug|Any CPU.Build.0 = 
Debug|Any CPU
                {9050922E-E22E-4FF5-A1B0-2F21745C6882}.Release|Any 
CPU.ActiveCfg = Release|Any CPU
                {9050922E-E22E-4FF5-A1B0-2F21745C6882}.Release|Any CPU.Build.0 
= Release|Any CPU
+               {2087EDC5-689F-406C-947C-06C5F321CA8C}.Debug|Any CPU.ActiveCfg 
= Debug|Any CPU
+               {2087EDC5-689F-406C-947C-06C5F321CA8C}.Debug|Any CPU.Build.0 = 
Debug|Any CPU
+               {2087EDC5-689F-406C-947C-06C5F321CA8C}.Release|Any 
CPU.ActiveCfg = Release|Any CPU
+               {2087EDC5-689F-406C-947C-06C5F321CA8C}.Release|Any CPU.Build.0 
= Release|Any CPU
+               {D818035F-0345-49EF-9AB9-021583986CE2}.Debug|Any CPU.ActiveCfg 
= Debug|Any CPU
+               {D818035F-0345-49EF-9AB9-021583986CE2}.Debug|Any CPU.Build.0 = 
Debug|Any CPU
+               {D818035F-0345-49EF-9AB9-021583986CE2}.Release|Any 
CPU.ActiveCfg = Release|Any CPU
+               {D818035F-0345-49EF-9AB9-021583986CE2}.Release|Any CPU.Build.0 
= Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
        EndGlobalSection
        GlobalSection(NestedProjects) = preSolution
                {9050922E-E22E-4FF5-A1B0-2F21745C6882} = 
{8953473C-EEE8-4740-993D-B8E10FA876CD}
+               {2087EDC5-689F-406C-947C-06C5F321CA8C} = 
{8953473C-EEE8-4740-993D-B8E10FA876CD}
+               {D818035F-0345-49EF-9AB9-021583986CE2} = 
{8953473C-EEE8-4740-993D-B8E10FA876CD}
        EndGlobalSection
 EndGlobal

Reply via email to