Rat (Release Audit Tool) resultsThe following document contains the results of Rat (Release Audit Tool).
*****************************************************
Summary
-------
Generated at: 2024-03-01T15:01:29+02:00
Notes: 5
Binaries: 392
Archives: 0
Standards: 738
Apache Licensed: 678
Generated Documents: 0
JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.
60 Unknown Licenses
*****************************************************
Files with unapproved licenses:
.zarro-defaults
README.md
src/.idea/.idea.log4net/.idea/misc.xml
src/.idea/.idea.log4net/.idea/.name
src/.idea/.idea.log4net/.idea/workspace.xml
src/.idea/.idea.log4net/.idea/indexLayout.xml
src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
src/.idea/.idea.log4net/.idea/vcs.xml
src/integration-testing/log4net-673/Program.cs
src/integration-testing/log4net-673/log4net-673.csproj
src/integration-testing/log4net-673/bin/Debug/net6.0/log4net.config
src/integration-testing/log4net-673/log4net.config
src/integration-testing/log4net-611-main/Program.cs
src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net.config
src/integration-testing/log4net-611-main/bin/Debug/net462/log4net.config
src/integration-testing/log4net-611-main/log4net-611-main.csproj
src/integration-testing/log4net-611-main/log4net.config
src/integration-testing/log4net-681/Program.cs
src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.config
src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.xml
src/integration-testing/log4net-681/log4net-681.csproj
src/integration-testing/log4net-681/log4net.config
src/integration-testing/log4net-611-lib/DerivedAppender.cs
src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
src/integration-testing/log4net-672/Program.cs
src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.config
src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.xml
src/integration-testing/log4net-672/log4net-672.csproj
src/integration-testing/log4net-672/log4net.config
src/Directory.Build.props
src/MonoForFramework.targets
src/log4net.Tests/Signing.cs
src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.xml
src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.xml
src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.xml
src/log4net.Tests/bin/Debug/net462/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.1
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.2
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_default.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.1
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_default.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.3
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.xml
src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
src/log4net.Tests/NUnitTestRunnerInitializer.cs
src/log4net.Tests/log4net.Tests.csproj
src/log4net/log4net.csproj
src/log4net/Core/FixFlags.cs
doc/RELEASING.md
doc/sign-log4net-libraries.sh
doc/BUILDING.md
doc/CONTRIBUTING.md
doc/ReleaseInstructions-legacy.txt
appveyer.yml
*****************************************************
*****************************************************
Files with Apache License headers will be marked AL
Binary files (which do not require any license headers) will be marked B
Compressed archives will be marked A
Notices, licenses etc. will be marked N
AL install-dotnet-core-sdk-1.1.ps1
AL Jenkinsfile
AL local-tasks/prefix-build-artifacts.js
AL local-tasks/hash-build-artifacts.js
AL local-tasks/build-site.js
B local-tasks/update-version-info.ts
AL local-tasks/prepare-build-artifacts.js
AL local-tasks/zip.js
!????? .zarro-defaults
N STATUS.txt
AL log4net.shfbproj
AL extensions/nant.build
AL extensions/nant.config
AL extensions/net/nant.build
AL extensions/net/1.0/log4net.Ext.Trace/nant.build
AL extensions/net/1.0/log4net.Ext.Trace/cs/nant.build
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/TraceLogManager.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/ITraceLog.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/log4net.Ext.Trace.csproj
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/AssemblyInfo.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/TraceLogImpl.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/nant.config
AL extensions/net/1.0/log4net.Ext.Trace/nant.config
AL extensions/net/1.0/log4net.Ext.EventID/nant.build
AL extensions/net/1.0/log4net.Ext.EventID/cs/nant.build
AL extensions/net/1.0/log4net.Ext.EventID/cs/src/AssemblyInfo.cs
AL extensions/net/1.0/log4net.Ext.EventID/cs/src/EventIDLogManager.cs
AL extensions/net/1.0/log4net.Ext.EventID/cs/src/IEventIDLog.cs
AL extensions/net/1.0/log4net.Ext.EventID/cs/src/log4net.Ext.EventID.csproj
AL extensions/net/1.0/log4net.Ext.EventID/cs/src/EventIDLogImpl.cs
AL extensions/net/1.0/log4net.Ext.EventID/cs/nant.config
AL extensions/net/1.0/log4net.Ext.EventID/nant.config
AL extensions/net/1.0/nant.build
AL extensions/net/1.0/log4net.Ext.MarshalByRef/nant.build
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/nant.build
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/AssemblyInfo.cs
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/log4net.Ext.MarshalByRef.csproj
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/MarshalByRefLogImpl.cs
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/MarshalByRefLogManager.cs
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/nant.config
AL extensions/net/1.0/log4net.Ext.MarshalByRef/nant.config
AL extensions/net/1.0/nant.config
AL extensions/net/1.0/cs-extensions.sln
AL extensions/net/nant.config
B build-tools/nuget.exe
AL log4net.build
B package-icon.png
AL build.cmd
N NOTICE
AL log4net.include
!????? README.md
AL build-with-docker-for-windows.bat
AL .asf.yaml
N LICENSE
AL examples/netcf/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.vbdproj
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/AssemblyInfo.vb
B examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.exe.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/EntryPoint.vb
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/LoggingExample.vb
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/nant.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/ConsoleApp.csdproj
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/AssemblyInfo.cs
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/EntryPoint.cs
B examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/ConsoleApp.exe.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/LoggingExample.cs
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/nant.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/nant.config
AL examples/netcf/1.0/Tutorials/nant.build
AL examples/netcf/1.0/Tutorials/nant.config
AL examples/netcf/1.0/vb-examples.sln
AL examples/netcf/1.0/nant.build
AL examples/netcf/1.0/cs-examples.sln
AL examples/netcf/1.0/nant.config
AL examples/netcf/nant.config
AL examples/nant.build
AL examples/mono/nant.build
AL examples/mono/1.0/Tutorials/ConsoleApp/nant.build
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/nant.build
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/src/AssemblyInfo.cs
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/src/App.config
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/src/LoggingExample.cs
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/nant.config
AL examples/mono/1.0/Tutorials/ConsoleApp/nant.config
AL examples/mono/1.0/Tutorials/nant.build
AL examples/mono/1.0/Tutorials/nant.config
AL examples/mono/1.0/nant.build
AL examples/mono/1.0/Performance/NotLogging/nant.build
AL examples/mono/1.0/Performance/NotLogging/cs/nant.build
AL examples/mono/1.0/Performance/NotLogging/cs/src/AssemblyInfo.cs
AL examples/mono/1.0/Performance/NotLogging/cs/src/NotLogging.cs
AL examples/mono/1.0/Performance/NotLogging/cs/nant.config
AL examples/mono/1.0/Performance/NotLogging/nant.config
AL examples/mono/1.0/Performance/nant.build
AL examples/mono/1.0/Performance/nant.config
AL examples/mono/1.0/Repository/SharedModule/nant.build
AL examples/mono/1.0/Repository/SharedModule/cs/nant.build
AL examples/mono/1.0/Repository/SharedModule/cs/src/AssemblyInfo.cs
AL examples/mono/1.0/Repository/SharedModule/cs/src/Math.cs
AL examples/mono/1.0/Repository/SharedModule/cs/nant.config
AL examples/mono/1.0/Repository/SharedModule/nant.config
AL examples/mono/1.0/Repository/SimpleModule/nant.build
AL examples/mono/1.0/Repository/SimpleModule/cs/nant.build
B examples/mono/1.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
AL examples/mono/1.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
AL examples/mono/1.0/Repository/SimpleModule/cs/src/Math.cs
AL examples/mono/1.0/Repository/SimpleModule/cs/nant.config
AL examples/mono/1.0/Repository/SimpleModule/nant.config
AL examples/mono/1.0/Repository/nant.build
AL examples/mono/1.0/Repository/SimpleApp/nant.build
AL examples/mono/1.0/Repository/SimpleApp/cs/nant.build
AL examples/mono/1.0/Repository/SimpleApp/cs/src/AssemblyInfo.cs
AL examples/mono/1.0/Repository/SimpleApp/cs/src/EntryPoint.cs
AL examples/mono/1.0/Repository/SimpleApp/cs/src/App.config
B examples/mono/1.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/mono/1.0/Repository/SimpleApp/cs/nant.config
AL examples/mono/1.0/Repository/SimpleApp/nant.config
AL examples/mono/1.0/Repository/nant.config
AL examples/mono/1.0/nant.config
AL examples/mono/nant.config
AL examples/sscli/nant.build
AL examples/sscli/1.0/Tutorials/ConsoleApp/nant.build
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/nant.build
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/src/App.config
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/src/LoggingExample.js
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/src/AssemblyInfo.js
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/nant.config
AL examples/sscli/1.0/Tutorials/ConsoleApp/nant.config
AL examples/sscli/1.0/Tutorials/nant.build
AL examples/sscli/1.0/Tutorials/nant.config
AL examples/sscli/1.0/nant.build
AL examples/sscli/1.0/Repository/SharedModule/nant.build
AL examples/sscli/1.0/Repository/SharedModule/cs/nant.build
AL examples/sscli/1.0/Repository/SharedModule/cs/src/AssemblyInfo.cs
AL examples/sscli/1.0/Repository/SharedModule/cs/src/Math.cs
AL examples/sscli/1.0/Repository/SharedModule/cs/nant.config
AL examples/sscli/1.0/Repository/SharedModule/nant.config
AL examples/sscli/1.0/Repository/SimpleModule/nant.build
AL examples/sscli/1.0/Repository/SimpleModule/cs/nant.build
B examples/sscli/1.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
AL examples/sscli/1.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
AL examples/sscli/1.0/Repository/SimpleModule/cs/src/Math.cs
AL examples/sscli/1.0/Repository/SimpleModule/cs/nant.config
AL examples/sscli/1.0/Repository/SimpleModule/nant.config
AL examples/sscli/1.0/Repository/nant.build
AL examples/sscli/1.0/Repository/SimpleApp/nant.build
AL examples/sscli/1.0/Repository/SimpleApp/cs/nant.build
AL examples/sscli/1.0/Repository/SimpleApp/cs/src/AssemblyInfo.cs
AL examples/sscli/1.0/Repository/SimpleApp/cs/src/EntryPoint.cs
AL examples/sscli/1.0/Repository/SimpleApp/cs/src/App.config
B examples/sscli/1.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/sscli/1.0/Repository/SimpleApp/cs/nant.config
AL examples/sscli/1.0/Repository/SimpleApp/nant.config
AL examples/sscli/1.0/Repository/nant.config
AL examples/sscli/1.0/nant.config
AL examples/sscli/nant.config
AL examples/nant.config
AL examples/net/2.0/Tutorials/ConsoleApp/nant.build
AL examples/net/2.0/Tutorials/ConsoleApp/vb/nant.build
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.vbproj
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/App.config
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/LoggingExample.vb
AL examples/net/2.0/Tutorials/ConsoleApp/vb/nant.config
AL examples/net/2.0/Tutorials/ConsoleApp/cs/nant.build
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/App.config
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/ConsoleApp.csproj
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/LoggingExample.cs
AL examples/net/2.0/Tutorials/ConsoleApp/cs/nant.config
AL examples/net/2.0/Tutorials/ConsoleApp/nant.config
AL examples/net/2.0/Tutorials/nant.build
AL examples/net/2.0/Tutorials/WebApp/nant.build
N examples/net/2.0/Tutorials/WebApp/readme.txt
AL examples/net/2.0/Tutorials/WebApp/vb/nant.build
B examples/net/2.0/Tutorials/WebApp/vb/src/SimpleModule.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/Global.asax.resx
B examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/vb/src/Global.asax
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebForm1.aspx.resx
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebForm1.aspx.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebForm1.aspx
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.vbproj
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.vbproj.webinfo
AL examples/net/2.0/Tutorials/WebApp/vb/src/Global.asax.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/AssemblyVersionInfo.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.vsdisco
AL examples/net/2.0/Tutorials/WebApp/vb/src/Web.config
AL examples/net/2.0/Tutorials/WebApp/vb/nant.config
AL examples/net/2.0/Tutorials/WebApp/cs/nant.build
B examples/net/2.0/Tutorials/WebApp/cs/src/SimpleModule.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax.resx
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.csproj.webinfo
AL examples/net/2.0/Tutorials/WebApp/cs/src/AssemblyInfo.cs
B examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax
AL examples/net/2.0/Tutorials/WebApp/cs/src/AssemblyVersionInfo.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx.resx
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.csproj
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.vsdisco
AL examples/net/2.0/Tutorials/WebApp/cs/src/Web.config
AL examples/net/2.0/Tutorials/WebApp/cs/nant.config
AL examples/net/2.0/Tutorials/WebApp/nant.config
AL examples/net/2.0/Tutorials/nant.config
AL examples/net/2.0/Appenders/SampleAppendersApp/nant.build
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/nant.build
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/SimpleSmtpAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/PatternFileAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/MsmqAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/MessageObjectExpanderAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/PatternLayoutAdoNetAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/AsyncAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/PatternLayoutAdoNetAppenderParameter.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/FastDbAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/FireEventAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/MessageBoxAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/App.config
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/SampleAppendersApp.csproj
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/LoggingExample.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/nant.config
AL examples/net/2.0/Appenders/SampleAppendersApp/nant.config
AL examples/net/2.0/Appenders/WmiAppender/nant.build
AL examples/net/2.0/Appenders/WmiAppender/cs/nant.build
AL examples/net/2.0/Appenders/WmiAppender/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiLoggingEvent.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiLayout.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/IWmiBoundEvent.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiAppender.csproj
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiInstaller.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiAppender.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/nant.config
AL examples/net/2.0/Appenders/WmiAppender/nant.config
AL examples/net/2.0/Appenders/nant.build
AL examples/net/2.0/Appenders/nant.config
AL examples/net/2.0/Extensibility/EventIDLogApp/nant.build
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/nant.build
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/src/EventIDLogApp.cs
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/src/App.config
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/src/EventIDLogApp.csproj
AL examples/net/2.0/Extensibility/EventIDLogApp/cs/nant.config
AL examples/net/2.0/Extensibility/EventIDLogApp/nant.config
AL examples/net/2.0/Extensibility/nant.build
AL examples/net/2.0/Extensibility/TraceLogApp/nant.build
AL examples/net/2.0/Extensibility/TraceLogApp/cs/nant.build
AL examples/net/2.0/Extensibility/TraceLogApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Extensibility/TraceLogApp/cs/src/TraceLogApp.cs
AL examples/net/2.0/Extensibility/TraceLogApp/cs/src/TraceLogApp.csproj
B examples/net/2.0/Extensibility/TraceLogApp/cs/src/TraceLogApp.exe.log4net
AL examples/net/2.0/Extensibility/TraceLogApp/cs/nant.config
AL examples/net/2.0/Extensibility/TraceLogApp/nant.config
AL examples/net/2.0/Extensibility/nant.config
AL examples/net/2.0/vb-examples.sln
AL examples/net/2.0/nant.build
AL examples/net/2.0/Performance/NotLogging/nant.build
AL examples/net/2.0/Performance/NotLogging/vb/nant.build
AL examples/net/2.0/Performance/NotLogging/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Performance/NotLogging/vb/src/NotLogging.vbproj
AL examples/net/2.0/Performance/NotLogging/vb/src/NotLogging.vb
AL examples/net/2.0/Performance/NotLogging/vb/nant.config
AL examples/net/2.0/Performance/NotLogging/cs/nant.build
AL examples/net/2.0/Performance/NotLogging/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Performance/NotLogging/cs/src/NotLogging.csproj
AL examples/net/2.0/Performance/NotLogging/cs/src/NotLogging.cs
AL examples/net/2.0/Performance/NotLogging/cs/nant.config
AL examples/net/2.0/Performance/NotLogging/nant.config
AL examples/net/2.0/Performance/nant.build
AL examples/net/2.0/Performance/nant.config
AL examples/net/2.0/Remoting/nant.build
AL examples/net/2.0/Remoting/RemotingServer/nant.build
AL examples/net/2.0/Remoting/RemotingServer/cs/nant.build
AL examples/net/2.0/Remoting/RemotingServer/cs/src/RemotingServer.cs
AL examples/net/2.0/Remoting/RemotingServer/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Remoting/RemotingServer/cs/src/RemotingServer.csproj
AL examples/net/2.0/Remoting/RemotingServer/cs/src/App.config
AL examples/net/2.0/Remoting/RemotingServer/cs/nant.config
AL examples/net/2.0/Remoting/RemotingServer/nant.config
AL examples/net/2.0/Remoting/RemotingClient/nant.build
AL examples/net/2.0/Remoting/RemotingClient/cs/nant.build
AL examples/net/2.0/Remoting/RemotingClient/cs/src/RemotingClient.csproj
AL examples/net/2.0/Remoting/RemotingClient/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Remoting/RemotingClient/cs/src/RemotingClient.cs
AL examples/net/2.0/Remoting/RemotingClient/cs/src/App.config
AL examples/net/2.0/Remoting/RemotingClient/cs/nant.config
AL examples/net/2.0/Remoting/RemotingClient/nant.config
AL examples/net/2.0/Remoting/nant.config
AL examples/net/2.0/Layouts/SampleLayoutsApp/nant.build
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/nant.build
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/Layout/LevelPatternLayout.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/Layout/ForwardingLayout.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/Layout/LineWrappingLayout.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/Layout/LevelConversionPattern.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/App.config
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/SampleLayoutsApp.csproj
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/LoggingExample.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/nant.config
AL examples/net/2.0/Layouts/SampleLayoutsApp/nant.config
AL examples/net/2.0/Layouts/nant.build
AL examples/net/2.0/Layouts/nant.config
AL examples/net/2.0/cs-examples.sln
AL examples/net/2.0/Repository/SharedModule/nant.build
AL examples/net/2.0/Repository/SharedModule/vb/nant.build
AL examples/net/2.0/Repository/SharedModule/vb/src/Math.vb
AL examples/net/2.0/Repository/SharedModule/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Repository/SharedModule/vb/src/SharedModule.vbproj
AL examples/net/2.0/Repository/SharedModule/vb/nant.config
AL examples/net/2.0/Repository/SharedModule/cs/nant.build
AL examples/net/2.0/Repository/SharedModule/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Repository/SharedModule/cs/src/Math.cs
AL examples/net/2.0/Repository/SharedModule/cs/src/SharedModule.csproj
AL examples/net/2.0/Repository/SharedModule/cs/nant.config
AL examples/net/2.0/Repository/SharedModule/nant.config
AL examples/net/2.0/Repository/SimpleModule/nant.build
AL examples/net/2.0/Repository/SimpleModule/vb/nant.build
AL examples/net/2.0/Repository/SimpleModule/vb/src/Math.vb
B examples/net/2.0/Repository/SimpleModule/vb/src/SimpleModule.dll.log4net
AL examples/net/2.0/Repository/SimpleModule/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Repository/SimpleModule/vb/src/SimpleModule.vbproj
AL examples/net/2.0/Repository/SimpleModule/vb/nant.config
AL examples/net/2.0/Repository/SimpleModule/cs/nant.build
B examples/net/2.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
AL examples/net/2.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Repository/SimpleModule/cs/src/Math.cs
AL examples/net/2.0/Repository/SimpleModule/cs/src/SimpleModule.csproj
AL examples/net/2.0/Repository/SimpleModule/cs/nant.config
AL examples/net/2.0/Repository/SimpleModule/nant.config
AL examples/net/2.0/Repository/nant.build
AL examples/net/2.0/Repository/SimpleApp/nant.build
AL examples/net/2.0/Repository/SimpleApp/vb/nant.build
AL examples/net/2.0/Repository/SimpleApp/vb/src/SimpleApp.vbproj
AL examples/net/2.0/Repository/SimpleApp/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Repository/SimpleApp/vb/src/App.config
AL examples/net/2.0/Repository/SimpleApp/vb/src/EntryPoint.vb
B examples/net/2.0/Repository/SimpleApp/vb/src/SimpleApp.exe.log4net
AL examples/net/2.0/Repository/SimpleApp/vb/nant.config
AL examples/net/2.0/Repository/SimpleApp/cs/nant.build
AL examples/net/2.0/Repository/SimpleApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Repository/SimpleApp/cs/src/EntryPoint.cs
AL examples/net/2.0/Repository/SimpleApp/cs/src/App.config
AL examples/net/2.0/Repository/SimpleApp/cs/src/SimpleApp.csproj
B examples/net/2.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/net/2.0/Repository/SimpleApp/cs/nant.config
AL examples/net/2.0/Repository/SimpleApp/nant.config
AL examples/net/2.0/Repository/nant.config
AL examples/net/2.0/nant.config
AL examples/net/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/src/ConsoleApp.vcproj
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/src/AssemblyInfo.cpp
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/src/ConsoleApp.cpp
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/src/App.config
AL examples/net/1.1/Tutorials/ConsoleApp/cpp/nant.config
AL examples/net/1.1/Tutorials/ConsoleApp/js/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/js/src/App.config
AL examples/net/1.1/Tutorials/ConsoleApp/js/src/LoggingExample.js
AL examples/net/1.1/Tutorials/ConsoleApp/js/src/AssemblyInfo.js
AL examples/net/1.1/Tutorials/ConsoleApp/js/nant.config
AL examples/net/1.1/Tutorials/ConsoleApp/nant.config
AL examples/net/1.1/Tutorials/nant.build
AL examples/net/1.1/Tutorials/nant.config
AL examples/net/1.1/nant.build
AL examples/net/1.1/cpp-examples.sln
AL examples/net/1.1/Repository/SharedModule/nant.build
AL examples/net/1.1/Repository/SharedModule/js/nant.build
AL examples/net/1.1/Repository/SharedModule/js/src/Math.js
AL examples/net/1.1/Repository/SharedModule/js/src/AssemblyInfo.js
AL examples/net/1.1/Repository/SharedModule/js/nant.config
AL examples/net/1.1/Repository/SharedModule/nant.config
AL examples/net/1.1/Repository/SimpleModule/nant.build
AL examples/net/1.1/Repository/SimpleModule/js/nant.build
B examples/net/1.1/Repository/SimpleModule/js/src/SimpleModule.dll.log4net
AL examples/net/1.1/Repository/SimpleModule/js/src/Math.js
AL examples/net/1.1/Repository/SimpleModule/js/src/AssemblyInfo.js
AL examples/net/1.1/Repository/SimpleModule/js/nant.config
AL examples/net/1.1/Repository/SimpleModule/nant.config
AL examples/net/1.1/Repository/nant.build
AL examples/net/1.1/Repository/SimpleApp/nant.build
AL examples/net/1.1/Repository/SimpleApp/js/nant.build
AL examples/net/1.1/Repository/SimpleApp/js/src/App.config
B examples/net/1.1/Repository/SimpleApp/js/src/SimpleApp.exe.log4net
AL examples/net/1.1/Repository/SimpleApp/js/src/EntryPoint.js
AL examples/net/1.1/Repository/SimpleApp/js/src/AssemblyInfo.js
AL examples/net/1.1/Repository/SimpleApp/js/nant.config
AL examples/net/1.1/Repository/SimpleApp/nant.config
AL examples/net/1.1/Repository/nant.config
AL examples/net/1.1/nant.config
AL examples/net/nant.config
!????? src/.idea/.idea.log4net/.idea/misc.xml
!????? src/.idea/.idea.log4net/.idea/.name
!????? src/.idea/.idea.log4net/.idea/workspace.xml
!????? src/.idea/.idea.log4net/.idea/indexLayout.xml
!????? src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
!????? src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
!????? src/.idea/.idea.log4net/.idea/vcs.xml
AL src/site/xdoc/history.xml
AL src/site/xdoc/download_log4net.xml
AL src/site/xdoc/release/howto/chainsaw.xml
AL src/site/xdoc/release/howto/index.xml
AL src/site/xdoc/release/config-examples.xml
AL src/site/xdoc/release/security-reports.xml
AL src/site/xdoc/release/framework-support.xml
AL src/site/xdoc/release/example-apps.xml
AL src/site/xdoc/release/release-notes.xml
AL src/site/xdoc/release/building.xml
AL src/site/xdoc/release/features.xml
AL src/site/xdoc/release/manual/internals.xml
AL src/site/xdoc/release/manual/repositories.xml
AL src/site/xdoc/release/manual/plugins.xml
AL src/site/xdoc/release/manual/configuration.xml
AL src/site/xdoc/release/manual/contexts.xml
AL src/site/xdoc/release/manual/introduction.xml
AL src/site/xdoc/release/faq.xml
AL src/site/xdoc/index.xml
AL src/site/site.xml
AL src/site/apt/roadmap.apt
AL src/site/site.vm
!????? src/integration-testing/log4net-673/Program.cs
!????? src/integration-testing/log4net-673/log4net-673.csproj
B src/integration-testing/log4net-673/bin/Debug/net6.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-673/bin/Debug/net6.0/log4net-673
B src/integration-testing/log4net-673/bin/Debug/net6.0/log4net-673.pdb
B src/integration-testing/log4net-673/bin/Debug/net6.0/log4net.dll
B src/integration-testing/log4net-673/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
B src/integration-testing/log4net-673/bin/Debug/net6.0/log4net-673.dll
!????? src/integration-testing/log4net-673/bin/Debug/net6.0/log4net.config
B src/integration-testing/log4net-673/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-673/bin/Debug/net6.0/System.Security.Permissions.dll
!????? src/integration-testing/log4net-673/log4net.config
!????? src/integration-testing/log4net-611-main/Program.cs
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net-611-main.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net-611-lib.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net-611-main
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net-611-main.pdb
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net-611-lib.pdb
!????? src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net.config
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-611-main/bin/Debug/net6.0/System.Security.Permissions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.Tasks.Parallel.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Serialization.Json.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Linq.Parallel.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net-611-main.exe
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Cryptography.Algorithms.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.Overlapped.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ValueTuple.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ComponentModel.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Ping.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Linq.Expressions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.XDocument.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Text.Encoding.Extensions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.AppContext.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Cryptography.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Serialization.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Cryptography.Encoding.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.XPath.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ComponentModel.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.Timer.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Resources.ResourceManager.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.FileSystem.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Extensions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Collections.NonGeneric.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.CompilerServices.VisualC.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.NetworkInformation.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.IsolatedStorage.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.SecureString.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Collections.Concurrent.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.Compression.ZipFile.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Resources.Writer.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.InteropServices.RuntimeInformation.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.Tools.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.Debug.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Principal.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.FileSystem.DriveInfo.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net-611-lib.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.WebSockets.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.Contracts.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ObjectModel.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Serialization.Xml.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Collections.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.Tasks.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Text.Encoding.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net-611-main.pdb
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.MemoryMappedFiles.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.UnmanagedMemoryStream.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.FileSystem.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Handles.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.Process.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.InteropServices.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.XmlSerializer.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net-611-main.exe.config
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Security.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Drawing.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Sockets.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Linq.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.WebHeaderCollection.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.Tracing.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.TraceSource.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/log4net-611-lib.pdb
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Cryptography.X509Certificates.dll
!????? src/integration-testing/log4net-611-main/bin/Debug/net462/log4net.config
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.FileSystem.Watcher.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Data.Common.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Serialization.Formatters.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Globalization.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.StackTrace.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.TextWriterTraceListener.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Reflection.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Reflection.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Globalization.Calendars.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Dynamic.Runtime.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ComponentModel.EventBasedAsync.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.XPath.XDocument.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Console.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Linq.Queryable.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.Compression.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/netstandard.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Claims.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Requests.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.Thread.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Collections.Specialized.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Security.Cryptography.Csp.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Resources.Reader.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.XmlDocument.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Threading.ThreadPool.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Diagnostics.FileVersionInfo.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Text.RegularExpressions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Reflection.Extensions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.NameResolution.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.ComponentModel.TypeConverter.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Runtime.Numerics.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Xml.ReaderWriter.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.Http.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.IO.Pipes.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/Microsoft.Win32.Primitives.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Globalization.Extensions.dll
B src/integration-testing/log4net-611-main/bin/Debug/net462/System.Net.WebSockets.Client.dll
!????? src/integration-testing/log4net-611-main/log4net-611-main.csproj
!????? src/integration-testing/log4net-611-main/log4net.config
!????? src/integration-testing/log4net-681/Program.cs
B src/integration-testing/log4net-681/bin/Debug/net6.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-681/bin/Debug/net6.0/log4net-681.pdb
B src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.dll
B src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.pdb
B src/integration-testing/log4net-681/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
B src/integration-testing/log4net-681/bin/Debug/net6.0/log4net-681
B src/integration-testing/log4net-681/bin/Debug/net6.0/log4net-681.dll
!????? src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.config
B src/integration-testing/log4net-681/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-681/bin/Debug/net6.0/System.Security.Permissions.dll
!????? src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.xml
!????? src/integration-testing/log4net-681/log4net-681.csproj
!????? src/integration-testing/log4net-681/log4net.config
!????? src/integration-testing/log4net-611-lib/DerivedAppender.cs
B src/integration-testing/log4net-611-lib/bin/Debug/netstandard2.0/log4net-611-lib.dll
B src/integration-testing/log4net-611-lib/bin/Debug/netstandard2.0/log4net-611-lib.pdb
!????? src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
!????? src/integration-testing/log4net-672/Program.cs
B src/integration-testing/log4net-672/bin/Debug/net6.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.pdb
B src/integration-testing/log4net-672/bin/Debug/net6.0/System.Configuration.ConfigurationManager.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.Utils.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.DuckTyping.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672.pdb
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.EasyArgs.dll
!????? src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.config
B src/integration-testing/log4net-672/bin/Debug/net6.0/System.Security.Cryptography.ProtectedData.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/System.Security.Permissions.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672
!????? src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.xml
!????? src/integration-testing/log4net-672/log4net-672.csproj
!????? src/integration-testing/log4net-672/log4net.config
AL src/changes/changes.xml
!????? src/Directory.Build.props
!????? src/MonoForFramework.targets
AL src/log4net.sln
!????? src/log4net.Tests/Signing.cs
AL src/log4net.Tests/Utils.cs
AL src/log4net.Tests/Appender/RemotingAppenderTest.cs
AL src/log4net.Tests/Appender/MemoryAppenderTest.cs
AL src/log4net.Tests/Appender/SmtpPickupDirAppenderTest.cs
AL src/log4net.Tests/Appender/TraceAppenderTest.cs
AL src/log4net.Tests/Appender/RollingFileAppenderTest.cs
AL src/log4net.Tests/Appender/EventLogAppenderTest.cs
AL src/log4net.Tests/Appender/AppenderCollectionTest.cs
AL src/log4net.Tests/Appender/DebugAppenderTest.cs
AL src/log4net.Tests/Appender/EventRaisingAppender.cs
AL src/log4net.Tests/Appender/AdoNetAppenderTest.cs
AL src/log4net.Tests/Appender/RecursiveLoggingTest.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetConnection.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetTransaction.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetParameter.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetParameterCollection.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetCommand.cs
AL src/log4net.Tests/Appender/CountingAppender.cs
AL src/log4net.Tests/Appender/BufferingAppenderTest.cs
AL src/log4net.Tests/Appender/StringAppender.cs
B src/log4net.Tests/bin/Debug/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NuGet.Frameworks.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NExpect.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/testcentric.engine.metadata.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/System.Configuration.ConfigurationManager.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.engine.core.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/System.Security.Permissions.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/testhost.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.engine.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.Tests.dll
!????? src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.xml
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.framework.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.pdb
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.core.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.Tests.dll
!????? src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.xml
B src/log4net.Tests/bin/Debug/netcoreapp1.0/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp1.0/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.pdb
B src/log4net.Tests/bin/Debug/netcoreapp1.0/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/nunit.engine.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.Tests.dll
!????? src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.xml
B src/log4net.Tests/bin/Debug/net462/NExpect.dll
B src/log4net.Tests/bin/Debug/net462/log4net.dll
B src/log4net.Tests/bin/Debug/net462/log4net.pdb
B src/log4net.Tests/bin/Debug/net462/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/net462/log4net.Tests.dll
!????? src/log4net.Tests/bin/Debug/net462/log4net.xml
B src/log4net.Tests/bin/Debug/net462/nunit.framework.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/NuGet.Frameworks.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.pdb
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.1
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Configuration.ConfigurationManager.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.core.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Xml.XPath.XmlDocument.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Security.Permissions.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.DotNet.InternalAbstractions.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/testhost.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.2
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_default.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Newtonsoft.Json.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.Tests.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.framework.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.pdb
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.1
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.core.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/NUnit3.TestAdapter.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_default.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.3
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.Tests.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/nunit.engine.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.Tests.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.pdb
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.Tests.dll
!????? src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/net462/nunit.framework.dll
AL src/log4net.Tests/Layout/XmlLayoutTest.cs
AL src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
AL src/log4net.Tests/Layout/PatternLayoutTest.cs
AL src/log4net.Tests/Hierarchy/XmlHierarchyConfiguratorTest.cs
AL src/log4net.Tests/Hierarchy/Logger.cs
AL src/log4net.Tests/Hierarchy/Hierarchy.cs
AL src/log4net.Tests/Filter/FilterTest.cs
AL src/log4net.Tests/AssemblyInfo.cs
AL src/log4net.Tests/DateFormatter/AbsoluteTimeDateFormatterTest.cs
!????? src/log4net.Tests/NUnitTestRunnerInitializer.cs
AL src/log4net.Tests/Context/LogicalThreadContextTest.cs
AL src/log4net.Tests/Context/ThreadContextTest.cs
AL src/log4net.Tests/Core/ShutdownTest.cs
AL src/log4net.Tests/Core/FixingTest.cs
AL src/log4net.Tests/Core/EvaluatorTest.cs
AL src/log4net.Tests/Core/StringFormatTest.cs
!????? src/log4net.Tests/log4net.Tests.csproj
AL src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
AL src/log4net.Tests/Util/PatternStringTest.cs
AL src/log4net.Tests/Util/PatternConverterTest.cs
AL src/log4net.Tests/Util/TransformTest.cs
AL src/log4net.Tests/Util/PropertiesDictionaryTest.cs
AL src/log4net.Tests/Util/SystemInfoTest.cs
AL src/log4net.Tests/Util/LogLogTest.cs
AL src/log4net.Tests/Util/RandomStringPatternConverterTest.cs
AL src/log4net.Tests/Util/EnvironmentPatternConverterTest.cs
AL src/log4net.Tests/Util/CyclicBufferTest.cs
AL src/log4net/ThreadContext.cs
AL src/log4net/Appender/ColoredConsoleAppender.cs
AL src/log4net/Appender/EventLogAppender.cs
AL src/log4net/Appender/ManagedColoredConsoleAppender.cs
AL src/log4net/Appender/IAppender.cs
AL src/log4net/Appender/UdpAppender.cs
AL src/log4net/Appender/SmtpPickupDirAppender.cs
AL src/log4net/Appender/TextWriterAppender.cs
AL src/log4net/Appender/MemoryAppender.cs
AL src/log4net/Appender/OutputDebugStringAppender.cs
AL src/log4net/Appender/AspNetTraceAppender.cs
AL src/log4net/Appender/LocalSyslogAppender.cs
AL src/log4net/Appender/BufferingAppenderSkeleton.cs
AL src/log4net/Appender/FileAppender.cs
AL src/log4net/Appender/AppenderCollection.cs
AL src/log4net/Appender/RemotingAppender.cs
AL src/log4net/Appender/RollingFileAppender.cs
AL src/log4net/Appender/TraceAppender.cs
AL src/log4net/Appender/ForwardingAppender.cs
AL src/log4net/Appender/RemoteSyslogAppender.cs
AL src/log4net/Appender/ConsoleAppender.cs
AL src/log4net/Appender/AnsiColorTerminalAppender.cs
AL src/log4net/Appender/AppenderSkeleton.cs
AL src/log4net/Appender/IFlushable.cs
AL src/log4net/Appender/BufferingForwardingAppender.cs
AL src/log4net/Appender/NetSendAppender.cs
AL src/log4net/Appender/SmtpAppender.cs
AL src/log4net/Appender/TelnetAppender.cs
AL src/log4net/Appender/IBulkAppender.cs
AL src/log4net/Appender/DebugAppender.cs
AL src/log4net/Appender/AdoNetAppender.cs
AL src/log4net/LogicalThreadContext.cs
AL src/log4net/NDC.cs
AL src/log4net/NetStandardCompatibilityExtensions.cs
AL src/log4net/Layout/SimpleLayout.cs
AL src/log4net/Layout/RawUtcTimeStampLayout.cs
AL src/log4net/Layout/XmlLayout.cs
AL src/log4net/Layout/Pattern/IdentityPatternConverter.cs
AL src/log4net/Layout/Pattern/AppDomainPatternConverter.cs
AL src/log4net/Layout/Pattern/UtcDatePatternConverter.cs
AL src/log4net/Layout/Pattern/ThreadPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetRequestPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetContextPatternConverter.cs
AL src/log4net/Layout/Pattern/MethodLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/TypeNamePatternConverter.cs
AL src/log4net/Layout/Pattern/LineLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/StackTracePatternConverter.cs
AL src/log4net/Layout/Pattern/PatternLayoutConverter.cs
AL src/log4net/Layout/Pattern/FileLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/DatePatternConverter.cs
AL src/log4net/Layout/Pattern/PropertyPatternConverter.cs
AL src/log4net/Layout/Pattern/MessagePatternConverter.cs
AL src/log4net/Layout/Pattern/ExceptionPatternConverter.cs
AL src/log4net/Layout/Pattern/LevelPatternConverter.cs
AL src/log4net/Layout/Pattern/NdcPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetCachePatternConverter.cs
AL src/log4net/Layout/Pattern/UserNamePatternConverter.cs
AL src/log4net/Layout/Pattern/RelativeTimePatternConverter.cs
AL src/log4net/Layout/Pattern/StackTraceDetailPatternConverter.cs
AL src/log4net/Layout/Pattern/LoggerPatternConverter.cs
AL src/log4net/Layout/Pattern/NamedPatternConverter.cs
AL src/log4net/Layout/Pattern/FullLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetSessionPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetPatternConverter.cs
AL src/log4net/Layout/RawTimeStampLayout.cs
AL src/log4net/Layout/RawLayoutConverter.cs
AL src/log4net/Layout/IRawLayout.cs
AL src/log4net/Layout/DynamicPatternLayout.cs
AL src/log4net/Layout/PatternLayout.cs
AL src/log4net/Layout/ILayout.cs
AL src/log4net/Layout/RawPropertyLayout.cs
AL src/log4net/Layout/XmlLayoutSchemaLog4j.cs
AL src/log4net/Layout/ExceptionLayout.cs
AL src/log4net/Layout/LayoutSkeleton.cs
AL src/log4net/Layout/XmlLayoutBase.cs
AL src/log4net/Layout/Layout2RawLayoutAdapter.cs
AL src/log4net/MDC.cs
AL src/log4net/ILog.cs
!????? src/log4net/log4net.csproj
AL src/log4net/Filter/IFilter.cs
AL src/log4net/Filter/NdcFilter.cs
AL src/log4net/Filter/FilterSkeleton.cs
AL src/log4net/Filter/LevelMatchFilter.cs
AL src/log4net/Filter/MdcFilter.cs
AL src/log4net/Filter/StringMatchFilter.cs
AL src/log4net/Filter/FilterDecision.cs
AL src/log4net/Filter/PropertyFilter.cs
AL src/log4net/Filter/LoggerMatchFilter.cs
AL src/log4net/Filter/LevelRangeFilter.cs
AL src/log4net/Filter/DenyAllFilter.cs
AL src/log4net/AssemblyInfo.cs
AL src/log4net/ObjectRenderer/RendererMap.cs
AL src/log4net/ObjectRenderer/DefaultRenderer.cs
AL src/log4net/ObjectRenderer/IObjectRenderer.cs
AL src/log4net/DateFormatter/DateTimeDateFormatter.cs
AL src/log4net/DateFormatter/AbsoluteTimeDateFormatter.cs
AL src/log4net/DateFormatter/SimpleDateFormatter.cs
AL src/log4net/DateFormatter/Iso8601DateFormatter.cs
AL src/log4net/DateFormatter/IDateFormatter.cs
AL src/log4net/Core/ILogger.cs
AL src/log4net/Core/SecurityContextProvider.cs
AL src/log4net/Core/StackFrameItem.cs
AL src/log4net/Core/WrapperMap.cs
AL src/log4net/Core/CompactRepositorySelector.cs
AL src/log4net/Core/ILoggerWrapper.cs
AL src/log4net/Core/LogException.cs
AL src/log4net/Core/IAppenderAttachable.cs
AL src/log4net/Core/ExceptionEvaluator.cs
AL src/log4net/Core/LoggerManager.cs
AL src/log4net/Core/IErrorHandler.cs
AL src/log4net/Core/LoggingEvent.cs
AL src/log4net/Core/DefaultRepositorySelector.cs
AL src/log4net/Core/ErrorCode.cs
AL src/log4net/Core/LevelMap.cs
!????? src/log4net/Core/FixFlags.cs
AL src/log4net/Core/LocationInfo.cs
AL src/log4net/Core/IFixingRequired.cs
AL src/log4net/Core/Level.cs
AL src/log4net/Core/LevelCollection.cs
AL src/log4net/Core/IRepositorySelector.cs
AL src/log4net/Core/IOptionHandler.cs
AL src/log4net/Core/LevelEvaluator.cs
AL src/log4net/Core/MethodItem.cs
AL src/log4net/Core/ITriggeringEventEvaluator.cs
AL src/log4net/Core/LoggerWrapperImpl.cs
AL src/log4net/Core/SecurityContext.cs
AL src/log4net/Core/TimeEvaluator.cs
AL src/log4net/Core/LogImpl.cs
AL src/log4net/assembly/bin.xml
AL src/log4net/Log4netAssemblyInfo.cs
AL src/log4net/LogManager.cs
AL src/log4net/AssemblyVersionInfo.cs
AL src/log4net/GlobalContext.cs
AL src/log4net/Util/OptionConverter.cs
AL src/log4net/Util/LogLog.cs
AL src/log4net/Util/EmptyCollection.cs
AL src/log4net/Util/TextWriterAdapter.cs
AL src/log4net/Util/ProtectCloseTextWriter.cs
AL src/log4net/Util/LogicalThreadContextStacks.cs
AL src/log4net/Util/CyclicBuffer.cs
AL src/log4net/Util/LogicalThreadContextProperties.cs
AL src/log4net/Util/NullDictionaryEnumerator.cs
AL src/log4net/Util/EmptyDictionary.cs
AL src/log4net/Util/AppenderAttachedImpl.cs
AL src/log4net/Util/ILogExtensions.cs
AL src/log4net/Util/WindowsSecurityContext.cs
AL src/log4net/Util/QuietTextWriter.cs
AL src/log4net/Util/PropertyEntry.cs
AL src/log4net/Util/TypeConverters/ConversionNotSupportedException.cs
AL src/log4net/Util/TypeConverters/TypeConverterAttribute.cs
AL src/log4net/Util/TypeConverters/TypeConverter.cs
AL src/log4net/Util/TypeConverters/PatternLayoutConverter.cs
AL src/log4net/Util/TypeConverters/IConvertFrom.cs
AL src/log4net/Util/TypeConverters/BooleanConverter.cs
AL src/log4net/Util/TypeConverters/EncodingConverter.cs
AL src/log4net/Util/TypeConverters/ConverterRegistry.cs
AL src/log4net/Util/TypeConverters/PatternStringConverter.cs
AL src/log4net/Util/TypeConverters/IConvertTo.cs
AL src/log4net/Util/TypeConverters/IPAddressConverter.cs
AL src/log4net/Util/ThreadContextProperties.cs
AL src/log4net/Util/ReaderWriterLock.cs
AL src/log4net/Util/LevelMapping.cs
AL src/log4net/Util/CompositeProperties.cs
AL src/log4net/Util/ContextPropertiesBase.cs
AL src/log4net/Util/FormattingInfo.cs
AL src/log4net/Util/OnlyOnceErrorHandler.cs
AL src/log4net/Util/PatternParser.cs
AL src/log4net/Util/SystemStringFormat.cs
AL src/log4net/Util/PatternStringConverters/IdentityPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/AppDomainPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/EnvironmentFolderPathPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/LiteralPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/UtcDatePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/EnvironmentPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/RandomStringPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/AppSettingPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/DatePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/PropertyPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/ProcessIdPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/UserNamePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/NewLinePatternConverter.cs
AL src/log4net/Util/LogicalThreadContextStack.cs
AL src/log4net/Util/Transform.cs
AL src/log4net/Util/ThreadContextStack.cs
AL src/log4net/Util/LevelMappingEntry.cs
AL src/log4net/Util/GlobalContextProperties.cs
AL src/log4net/Util/SystemInfo.cs
AL src/log4net/Util/PropertiesDictionary.cs
AL src/log4net/Util/NullSecurityContext.cs
AL src/log4net/Util/NativeError.cs
AL src/log4net/Util/ThreadContextStacks.cs
AL src/log4net/Util/ReusableStringWriter.cs
AL src/log4net/Util/CountingQuietTextWriter.cs
AL src/log4net/Util/ConverterInfo.cs
AL src/log4net/Util/PatternConverter.cs
AL src/log4net/Util/ReadOnlyPropertiesDictionary.cs
AL src/log4net/Util/PatternString.cs
AL src/log4net/Util/NullEnumerator.cs
AL src/log4net/Config/DOMConfigurator.cs
AL src/log4net/Config/XmlConfiguratorAttribute.cs
AL src/log4net/Config/BasicConfigurator.cs
AL src/log4net/Config/AliasRepositoryAttribute.cs
AL src/log4net/Config/AliasDomainAttribute.cs
AL src/log4net/Config/DOMConfiguratorAttribute.cs
AL src/log4net/Config/RepositoryAttribute.cs
AL src/log4net/Config/ConfiguratorAttribute.cs
AL src/log4net/Config/XmlConfigurator.cs
AL src/log4net/Config/SecurityContextProviderAttribute.cs
AL src/log4net/Config/DomainAttribute.cs
AL src/log4net/Config/PluginAttribute.cs
AL src/log4net/Config/Log4NetConfigurationSectionHandler.cs
AL src/log4net/Repository/ILoggerRepository.cs
AL src/log4net/Repository/LoggerRepositorySkeleton.cs
AL src/log4net/Repository/ConfigurationChangedEventArgs.cs
AL src/log4net/Repository/Hierarchy/RootLogger.cs
AL src/log4net/Repository/Hierarchy/ILoggerFactory.cs
AL src/log4net/Repository/Hierarchy/XmlHierarchyConfigurator.cs
AL src/log4net/Repository/Hierarchy/ProvisionNode.cs
AL src/log4net/Repository/Hierarchy/Logger.cs
AL src/log4net/Repository/Hierarchy/Hierarchy.cs
AL src/log4net/Repository/Hierarchy/LoggerKey.cs
AL src/log4net/Repository/Hierarchy/DefaultLoggerFactory.cs
AL src/log4net/Repository/IBasicRepositoryConfigurator.cs
AL src/log4net/Repository/IXmlRepositoryConfigurator.cs
AL src/log4net/Plugin/PluginSkeleton.cs
AL src/log4net/Plugin/IPlugin.cs
AL src/log4net/Plugin/PluginCollection.cs
AL src/log4net/Plugin/PluginMap.cs
AL src/log4net/Plugin/RemoteLoggingServerPlugin.cs
AL src/log4net/Plugin/IPluginFactory.cs
N KEYS
AL netstandard/log4net.netstandard.sln
AL netstandard/log4net.tests/log4net.tests.xproj
AL netstandard/log4net.tests/ExpectedExceptionAttribute.cs
AL netstandard/log4net.tests/CompatibilityExtensions.cs
AL netstandard/log4net.tests/ApplicationException.cs
AL netstandard/log4net/log4net.xproj
AL netstandard/log4net/CompatibilityExtensions.cs
!????? doc/RELEASING.md
!????? doc/sign-log4net-libraries.sh
!????? doc/BUILDING.md
!????? doc/CONTRIBUTING.md
!????? doc/ReleaseInstructions-legacy.txt
AL tests/nant.build
!????? appveyer.yml
AL pom.xml
AL install-net-framework-sdk-3.5.ps1
*****************************************************
Printing headers for text files without a valid license header...
=====================================================
== File: .zarro-defaults
=====================================================
# zarro defaults file:
# place one VARIABLE=VALUE per line below
# variables here will not override existing environment variables
# unless prepended with a bang, ie
# !VARIABLE=Value
# so this means anything you set in your package.json, eg with
# cross-env, will override what's in here unless you've specifically
# marked the setting in here as forced with !
# instruct nunit console runner to run in a single process
NUNIT_PROCESS=Single
# determines how many tests can run in parallel - 1 is fine
MAX_CONCURRENCY=1
# specify what to build (prevents accidental build of any other sln)
BUILD_INCLUDE=src/log4net.sln
=====================================================
== File: README.md
=====================================================
Introduction
===========
Apache log4net is a sub project of the Apache Logging Services project.
Apache log4net graduated from the Apache Incubator in February 2007.
Web site: http://logging.apache.org/log4net
Documentation
=============
For the latest documentation see the log4net web site at:
http://logging.apache.org/log4net
Contributing
============
log4net development happens on the logging dev mailing list, see
https://logging.apache.org/log4net/mail-lists.html. Please join the
mailing list and discuss bigger changes before working on them.
For bigger changes we must ask you to sign a Contributor License
Agreement http://www.apache.org/licenses/#clas.
Github pull requests are one way to contribute, The Apache issue
tracker is no longer accepting new issues but is available at
https://issues.apache.org/jira/browse/LOG4NET for access to
previous issues.
Developing
==========
log4net targets a wide array of .net platforms, including some
which are out of support from Microsoft, making it difficult to
install relevant SDKs and build for those targets. In particular,
older Client Profile .NET Framework targets and dotnet core 1.1
may be installed by using the bundled helper scripts:
- [install-net-framework-sdk-3.5.ps1](install-net-framework-sdk-3.5.ps1)
- [install-dotnet-core-sdk-1.1.ps1](install-dotnet-core-sdk-1.1.ps1)
These scripts download the relevant installers from Microsoft servers,
but you run them at your own risk.
Please see
- [CONTRIBUTING.md](doc/CONTRIBUTING.md)
- [BUILDING.md](doc/BUILDING.md)
- [RELEASING.md](doc/RELEASING.md)
=====================================================
== File: src/.idea/.idea.log4net/.idea/misc.xml
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
=====================================================
== File: src/.idea/.idea.log4net/.idea/.name
=====================================================
log4net
=====================================================
== File: src/.idea/.idea.log4net/.idea/workspace.xml
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoGeneratedRunConfigurationManager">
<projectFile>integration-testing/log4net-611-main/log4net-611-main.csproj</projectFile>
<projectFile>integration-testing/log4net-672/log4net-672.csproj</projectFile>
<projectFile>integration-testing/log4net-673/log4net-673.csproj</projectFile>
<projectFile>integration-testing/log4net-681/log4net-681.csproj</projectFile>
<projectFile>log4net.Tests/log4net.Tests.csproj</projectFile>
</component>
<component name="BranchesTreeState">
<expand>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:abandoned" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:feature" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:pr" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
<item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:pr" type="e8cecc67:BranchNodeDescriptor" />
<item name="GROUP_NODE:old" type="e8cecc67:BranchNodeDescriptor" />
</path>
<path>
=====================================================
== File: src/.idea/.idea.log4net/.idea/indexLayout.xml
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>
=====================================================
== File: src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="vcsConfiguration" value="2" />
</component>
</project>
=====================================================
== File: src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
=====================================================
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>
=====================================================
== File: src/.idea/.idea.log4net/.idea/vcs.xml
=====================================================
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
=====================================================
== File: src/integration-testing/log4net-673/Program.cs
=====================================================
using System;
using System.IO;
using System.Reflection;
using System.Threading;
using log4net;
using log4net.Config;
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
if (appFolder is null)
{
throw new InvalidOperationException("Can't find myself");
}
var configFile = Path.Combine(appFolder, "log4net.config");
if (!File.Exists(configFile))
{
throw new InvalidOperationException($"log4net.config not found at {configFile}");
}
if (Directory.Exists("log"))
{
Console.WriteLine("Clearing out old logs...");
foreach (var file in Directory.EnumerateFiles("log"))
{
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}");
logger.Error($"error log {i}");
logger.Warn($"warning log {i}");
}
foreach (var file in Directory.EnumerateFiles("log"))
{
=====================================================
== File: src/integration-testing/log4net-673/log4net-673.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>log4net_673</RootNamespace>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>disable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="log4net" Version="2.0.14" />
</ItemGroup>
<ItemGroup>
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
=====================================================
== File: src/integration-testing/log4net-673/bin/Debug/net6.0/log4net.config
=====================================================
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="ErrorLogFileAppender" />
<appender-ref ref="WarnLogFileAppender" />
</root>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<mapping>
<level value="INFO" />
<forecolor value="White" />
</mapping>
<mapping>
<level value="WARN" />
<forecolor value="Green" />
</mapping>
<mapping>
<level value="ERROR" />
<forecolor value="Red" />
</mapping>
<mapping>
<level value="DEBUG" />
<forecolor value="Yellow" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionpattern value="%date [%thread] %-5level - %message%newline" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="log/ALL-Datamigration.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="30MB" />
<staticLogFileName value="true" />
<preserveLogFileNameExtension value="true"/>
<datePattern value="ddMMyyyy" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="log/ERROR-Datamigration.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
=====================================================
== File: src/integration-testing/log4net-673/log4net.config
=====================================================
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="ErrorLogFileAppender" />
<appender-ref ref="WarnLogFileAppender" />
</root>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<mapping>
<level value="INFO" />
<forecolor value="White" />
</mapping>
<mapping>
<level value="WARN" />
<forecolor value="Green" />
</mapping>
<mapping>
<level value="ERROR" />
<forecolor value="Red" />
</mapping>
<mapping>
<level value="DEBUG" />
<forecolor value="Yellow" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionpattern value="%date [%thread] %-5level - %message%newline" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="log/ALL-Datamigration.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="30MB" />
<staticLogFileName value="true" />
<preserveLogFileNameExtension value="true"/>
<datePattern value="ddMMyyyy" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="log/ERROR-Datamigration.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
=====================================================
== File: src/integration-testing/log4net-611-main/Program.cs
=====================================================
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("log4net-611-lib.dll");
if (appFolder is null)
{
throw new InvalidOperationException("Can't find myself");
}
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}");
=====================================================
== File: src/integration-testing/log4net-611-main/bin/Debug/net6.0/log4net.config
=====================================================
<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="[file] %property{appender-class-name} %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>
=====================================================
== File: src/integration-testing/log4net-611-main/bin/Debug/net462/log4net.config
=====================================================
<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="[file] %property{appender-class-name} %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>
=====================================================
== File: src/integration-testing/log4net-611-main/log4net-611-main.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net462;net6.0</TargetFrameworks>
<RootNamespace>log4net_611_main</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\log4net-611-lib\log4net-611-lib.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
=====================================================
== File: src/integration-testing/log4net-611-main/log4net.config
=====================================================
<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="[file] %property{appender-class-name} %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>
=====================================================
== File: src/integration-testing/log4net-681/Program.cs
=====================================================
using System.Reflection;
using log4net;
using log4net.Config;
var appPath = new Uri(Assembly.GetExecutingAssembly().Location).LocalPath;
var appFolder = Path.GetDirectoryName(appPath);
if (appFolder is null)
{
throw new InvalidOperationException("Can't find myself");
}
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...");
var threads = new List<Thread>();
for (var i = 0; i < 128; i++)
{
var thread = new Thread(LogABit);
thread.Start();
threads.Add(thread);
}
foreach (var t in threads)
{
t.Join();
}
=====================================================
== File: src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.config
=====================================================
<log4net>
<appender name="LogFileAppenderXML" type="log4net.Appender.RollingFileAppender">
<file value="Logs\.xml" />
<datePattern value="yyyy-MM-dd-HH-mm-ss'Xyz'" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="40" />
<maximumFileSize value="64" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[file] %message%newline" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppenderXML" />
</root>
</log4net>
=====================================================
== File: src/integration-testing/log4net-681/bin/Debug/net6.0/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/integration-testing/log4net-681/log4net-681.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>log4net_681</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\log4net\log4net.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
=====================================================
== File: src/integration-testing/log4net-681/log4net.config
=====================================================
<log4net>
<appender name="LogFileAppenderXML" type="log4net.Appender.RollingFileAppender">
<file value="Logs\.xml" />
<datePattern value="yyyy-MM-dd-HH-mm-ss'Xyz'" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="40" />
<maximumFileSize value="64" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[file] %message%newline" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppenderXML" />
</root>
</log4net>
=====================================================
== File: src/integration-testing/log4net-611-lib/DerivedAppender.cs
=====================================================
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
namespace log4net_611_lib;
public class DerivedAppender: RollingFileAppender
{
protected override void Append(LoggingEvent loggingEvent)
{
loggingEvent.Properties["appender-class-name"] = nameof(DerivedAppender);
base.Append(loggingEvent);
}
}
=====================================================
== File: src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
=====================================================
<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>
=====================================================
== File: src/integration-testing/log4net-672/Program.cs
=====================================================
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using log4net;
using log4net.Config;
const int NO_ERROR = 0;
const int MISSING_LOGS = 1;
const int OVERWRITTEN_LOGS = 2;
var appPath = new Uri(Assembly.GetExecutingAssembly().Location).LocalPath;
var appFolder = Path.GetDirectoryName(appPath);
if (appFolder is null)
{
throw new InvalidOperationException(
$"Can't determine app folder for {appPath}"
);
}
var logFolder = Path.Combine(appFolder, "Logs");
if (Directory.Exists(logFolder))
{
Directory.Delete(logFolder, recursive: true);
}
var configFile = Path.Combine(appFolder, "log4net.config");
if (!File.Exists(configFile))
{
throw new InvalidOperationException($"log4net.config not found at {configFile}");
}
var logCount = 10;
var identifiers = new List<Guid>();
for (var i = 0; i < 10; i++)
{
var identifier = Guid.NewGuid();
identifiers.Add(identifier);
var logged = LogWith(identifier, logCount);
if (logged != logCount)
{
Die($"Missing logs immediately for '{identifier}' - found {logged}/{logCount}", MISSING_LOGS);
}
}
foreach (var identifier in identifiers)
{
var logged = CountIdentifierInLogs(identifier);
if (logged != logCount)
=====================================================
== File: src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.config
=====================================================
<log4net>
<appender name="LogFileAppenderXML" type="log4net.Appender.RollingFileAppender">
<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.XmlLayout"/>
<fix value="Partial" />
</appender>
<appender name="BufferingForwardingAppender" type="log4net.APpender.BufferingForwardingAppender">
<bufferSize value="100" />
<fix value="Partial" />
<appender-ref ref="ConsoleAppender"/>
</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="BufferingForwardingAppender" />
</root>
</log4net>
=====================================================
== File: src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/integration-testing/log4net-672/log4net-672.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace>log4net_672</RootNamespace>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>preview</LangVersion>
<DefineConstants>NETSTANDARD</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\log4net\log4net.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="PeanutButter.EasyArgs" Version="2.0.63" />
</ItemGroup>
</Project>
=====================================================
== File: src/integration-testing/log4net-672/log4net.config
=====================================================
<log4net>
<appender name="LogFileAppenderXML" type="log4net.Appender.RollingFileAppender">
<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.XmlLayout"/>
<fix value="Partial" />
</appender>
<appender name="BufferingForwardingAppender" type="log4net.APpender.BufferingForwardingAppender">
<bufferSize value="100" />
<fix value="Partial" />
<appender-ref ref="ConsoleAppender"/>
</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="BufferingForwardingAppender" />
</root>
</log4net>
=====================================================
== File: src/Directory.Build.props
=====================================================
<Project>
<PropertyGroup>
<UseSharedCompilation>true</UseSharedCompilation>
</PropertyGroup>
</Project>
=====================================================
== File: src/MonoForFramework.targets
=====================================================
<Project>
<PropertyGroup Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">
<!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you -->
<!-- have to teach MSBuild where the Mono copy of the reference asssemblies is -->
<!-- Look in the standard install locations -->
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono</BaseFrameworkPathOverrideForMono>
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/lib/mono')">/usr/lib/mono</BaseFrameworkPathOverrideForMono>
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/local/lib/mono')">/usr/local/lib/mono</BaseFrameworkPathOverrideForMono>
<!-- If we found Mono reference assemblies, then use them -->
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net20'">$(BaseFrameworkPathOverrideForMono)/2.0-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net35'">$(BaseFrameworkPathOverrideForMono)/3.5-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net40'">$(BaseFrameworkPathOverrideForMono)/4.0-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'">$(BaseFrameworkPathOverrideForMono)/4.5-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'">$(BaseFrameworkPathOverrideForMono)/4.5.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'">$(BaseFrameworkPathOverrideForMono)/4.5.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'">$(BaseFrameworkPathOverrideForMono)/4.6-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'">$(BaseFrameworkPathOverrideForMono)/4.6.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net472'">$(BaseFrameworkPathOverrideForMono)/4.7.2-api</FrameworkPathOverride>
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net48'">$(BaseFrameworkPathOverrideForMono)/4.8-api</FrameworkPathOverride>
<EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>
<!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->
<AssemblySearchPaths Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
</Project>
=====================================================
== File: src/log4net.Tests/Signing.cs
=====================================================
using log4net.Repository;
using NUnit.Framework;
using NExpect;
using static NExpect.Expectations;
namespace log4net.Tests
{
[TestFixture]
public class Signing
{
[Test]
public void AssemblyShouldBeSigned()
{
// Arrange
var asm = typeof(LoggerRepositorySkeleton).Assembly;
// Act
var result = asm.GetName().GetPublicKey();
// Assert
Expect(result)
.Not.To.Be.Empty();
}
}
}
=====================================================
== File: src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/Debug/net462/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.1
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
=====================================================
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.2
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_default.log
=====================================================
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.1
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_default.log
=====================================================
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.3
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
=====================================================
<?xml version="1.0"?>
<doc>
<assembly>
<name>log4net</name>
</assembly>
<members>
<member name="T:log4net.Appender.AdoNetAppender">
<summary>
Appender that logs to a database.
</summary>
<remarks>
<para>
<see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
property. For more information on database connection strings for
your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
</para>
<para>
Records are written into the database either using a prepared
statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
procedure.
</para>
<para>
The prepared statement text or the name of the stored procedure
must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
</para>
<para>
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
type may be subclassed if required to provide database specific
functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
the parameter name, database type, size, and how the value should
be generated using a <see cref="T:log4net.Layout.ILayout"/>.
</para>
</remarks>
<example>
An example of a SQL Server table that could be logged to:
<code lang="SQL">
CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
=====================================================
== File: src/log4net.Tests/NUnitTestRunnerInitializer.cs
=====================================================
namespace log4net.Tests
{
using System.IO;
using NUnit.Framework;
[SetUpFixture]
public class NUnitTestRunnerInitializer
{
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
}
}
}
=====================================================
== File: src/log4net.Tests/log4net.Tests.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net462;net7.0</TargetFrameworks>
<NoWarn>NETSDK1138;CS1701</NoWarn>
<ProjectType>Local</ProjectType>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AssemblyOriginatorKeyFile>..\..\log4net.snk</AssemblyOriginatorKeyFile>
<OutputPath>bin\$(Configuration)</OutputPath>
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU</Platforms>
<Deterministic>true</Deterministic>
<!-- suppress analyzer mismatch warning -->
<NoWarn>CS8032</NoWarn>
</PropertyGroup>
<PropertyGroup>
<BaseAddress>285212672</BaseAddress>
<FileAlignment>4096</FileAlignment>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net462'">
<DefineConstants>$(DefineConstants);NET_2_0;NET_4_0;NET_4_5</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp1.0'">
<DefineConstants>$(DefineConstants);NETSTANDARD;NETSTANDARD1_3</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp2.1'">
<DefineConstants>$(DefineConstants);NETSTANDARD;NETSTANDARD2_0</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp3.1'">
=====================================================
== File: src/log4net/log4net.csproj
=====================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>log4net</PackageId>
<Version>2.0.16</Version>
<Title>Apache log4net</Title>
<Product>Apache log4net</Product>
<Description>
log4net is a tool to help the programmer output log statements to a variety of output targets.
In case of problems with an application, it is helpful to enable logging so that the problem
can be located. With log4net it is possible to enable logging at runtime without modifying the
application binary. The log4net package is designed so that log statements can remain in
shipped code without incurring a high performance cost. It follows that the speed of logging
(or rather not logging) is crucial.
At the same time, log output can be so voluminous that it quickly becomes overwhelming.
One of the distinctive features of log4net is the notion of hierarchical loggers.
Using these loggers it is possible to selectively control which log statements are output
at arbitrary granularity.
log4net is designed with two distinct goals in mind: speed and flexibility
</Description>
<Authors>The Apache Software Foundation</Authors>
<Owners>Apache Logging Project, Jiří Činčura</Owners>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageProjectUrl>https://logging.apache.org/log4net/</PackageProjectUrl>
<PackageIcon>package-icon.png</PackageIcon>
<Copyright>Copyright 2004-2024 The Apache Software Foundation</Copyright>
<PackageTags>logging log tracing logfiles</PackageTags>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/apache/logging-log4net</RepositoryUrl>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Platforms>AnyCPU</Platforms>
<TargetFrameworks>net20;net35;net40;net40-client;net45;netstandard1.3;netstandard2.0</TargetFrameworks>
<Configurations>Debug;Release</Configurations>
<LangVersion>latest</LangVersion>
<RootNamespace>log4net</RootNamespace>
<AssemblyName>log4net</AssemblyName>
<ProjectType>Local</ProjectType>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
=====================================================
== File: src/log4net/Core/FixFlags.cs
=====================================================
using System;
namespace log4net.Core
{
/// <summary>
/// Flags passed to the <see cref="LoggingEvent.Fix"/> property
/// </summary>
/// <remarks>
/// <para>
/// Flags passed to the <see cref="LoggingEvent.Fix"/> property
/// </para>
/// </remarks>
/// <author>Nicko Cadell</author>
[Flags]
public enum FixFlags
{
/// <summary>
/// Fix the MDC
/// </summary>
[Obsolete("Replaced by composite Properties")]
Mdc = 0x01,
/// <summary>
/// Fix the NDC
/// </summary>
Ndc = 0x02,
/// <summary>
/// Fix the rendered message
/// </summary>
Message = 0x04,
/// <summary>
/// Fix the thread name
/// </summary>
ThreadName = 0x08,
/// <summary>
/// Fix the callers location information
/// </summary>
/// <remarks>
/// CAUTION: Very slow to generate
/// </remarks>
LocationInfo = 0x10,
/// <summary>
/// Fix the callers windows user name
/// </summary>
/// <remarks>
/// CAUTION: Slow to generate
=====================================================
== File: doc/RELEASING.md
=====================================================
Log4Net Release procedure
---
This serves to document the release procedure for log4net, which is probably
more of interest to maintainers than anyone else, but I've found that there
are enough moving parts and time between releases to make the process more
difficult than it needs to be. Some parts are automated and others can be in
the future.
Assuming the code is in a place where a release can be made, for the imagined
release version 2.0.123:
1. Update the documentation under `src/site`
- minimally, this means at least:
- `src/site/xdoc/release/release-notes.xml`
- copy an existing release section & think about:
- what does this release change?
- bug fixes?
- enhancements
- don't forget to mention contributors
- people who reported issues
- people who created pull requests
- people who suggested code that was implemented
- `src/site/xdoc/download_log4net.xml`
- you should be able to search & replace on the prior version
for the new one you're about to create
2. Update the log4net.csproj file with this new version
3. Build release artifacts with `npm run release`
- if this doesn't work, you may need to `npm ci` first!
- currently, this _must_ happen on a windows machine because of older
.net framework requirements which cannot be met on a Linux machine
(or at least, I haven't figured out how - in particular CF)
- TODO: the following are still manual and need to be built into the `release` script:
- log4net.build: update package.version property
- log4net.shfbproj: update HtmlHelpName
- pom.xml: update version
4. Sign release artifacts (zips & nupkg) under `build/artifacts`
- eg `gpg --argmor --output log4net-2.0.123.nupkg.asc --detach-sig log4net-2.0.123.nupkg`
- there is an accompanying `sign-log4net-libraries.sh` which you could invoke if you cd
into the `build/artifacts` folder
- I build on Windows and sign on Linux as my build machine belongs to my company
and I don't want to store keys there. Always protect your keys fervently!
5. Clone out the log4net doc repo (https://github.com/apache/logging-log4net-site)
- check out the `asf-staging` branch
- create a folder which includes the version, eg `log4net-2.0.123`
6. Copy the contents of `target/site` from this repo into the folder created in (5)
- remember to either update or link in sdk docs from a prior release
7. Update the symlinks in the base of the docs repo, ie:
- 2.0.x -> 2.0.123
- 2.x -> 2.0.123
=====================================================
== File: doc/sign-log4net-libraries.sh
=====================================================
#!/bin/bash
# see https://infra.apache.org/release-signing#openpgp-ascii-detach-sig
DID_SOMETHING=0
for f in *log4net*.nupkg *log4net*.zip; do
DID_SOMETHING=1
echo "signing: $f"
gpg --armor --output $f.asc --detach-sig $f
done
if test "$DID_SOMETHING" = "0"; then
echo "No log4net artifacts found - are you sure you're in the right directory?"
exit 2
fi
=====================================================
== File: doc/BUILDING.md
=====================================================
## Building log4net
Log4net provides support for a wide array of targets, including
- older .net 2 and 3.5 (including client profiles)
- more modern net40/net45
- netstandard1.3/2.0
As such, it does require a relatively full .net environment on Windows to build.
Options:
- build locally. Suggested environment:
- Pre-requisites:
- Visual Studio 2019 Build Tools
- include desktop targets at least
- include dotnet core targets or download and install
the latest dotnet sdk (you will need at least v2.1)
- note that build is possible with VS2022 build tools, but I had to
install VS2019 build tools _as well_ to get msbuild to recognise
the legacy net35-profile target
- Ensure you have .NET Framework 3.5 SP1 installed
- on Win10+, this can only be installed via Add/Remove Windows Components
- on other platforms, see https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1
- Building against .net 2/3.5, especially Client Profile, is not supported on Mono
- Log4Net supports some older, out-of-support .net SDKs, particularly
dotnet core 1.1 and .net framework client profiles for 3.5 and 4.0.
There are helper powershell scripts in the root of this
repository to assist with obtaining and installing these
SDKs from Microsoft servers. Please see:
- [install-dotnet-core-sdk-1.1.ps1](install-dotnet-core-sdk-1.1.ps1)
- [install-net-framework-sdk-3.5.ps1](install-net-framework-sdk-3.5.ps1)
- Binaries can be built with a Visual Studio or Rider installation
- Binaries, packages and a release zip can be built via commandline
- Ensure that you have a reasonably modern NodeJS installed (at least version 8+)
- `npm ci`
- `npm run build`
- optionally `npm test` to run all tests
- optionally `npm run release` to generate release artifacts
- build via docker for windows, using the `build-with-docker-for-windows.bat` script
- build via the vs2019 Windows AppVeyer image. There is an appveyer.yml file
included which (should) build if you set up AppVeyer to track
your fork. AppVeyer is free for open-source projects.
(TODO: should have a link to the official AppVeyer build)
## Updating the site
Log4Net uses Maven to build the site. Source artifacts can be found under `src/site`.
Building the site can be accomplished with `npm run build-site`. You should have maven
installed:
- Windows: get it from Scoop
- OSX: get it from Homebrew
=====================================================
== File: doc/CONTRIBUTING.md
=====================================================
Contributing to Apache log4net
======================
You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to
the open source community. Before you dig right into the code there are a few guidelines that we need contributors to
follow so that we can have a chance of keeping on top of things.
Getting Started
---------------
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
+ Make sure you have a [GitHub account](https://github.com/signup/free).
+ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://logging.apache.org/log4net/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache log4net's scope.
+ Submit a ticket for your issue, assuming one does not already exist.
+ Clearly describe the issue including steps to reproduce when it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Fork the repository on GitHub.
Making Changes
--------------
+ Create a topic branch from where you want to base your work (this is usually the master/trunk branch).
+ Make commits of logical units.
+ Respect the original code style:
+ Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change.
+ Check for unnecessary whitespace with git diff --check before committing.
+ Make sure your commit messages are in the proper format. Your commit message should contain the key of the JIRA issue.
+ Make sure you have added the necessary tests for your changes.
+ Run all the tests with `nant` inside the `tests` directory to assure nothing else was accidentally broken.
Making Trivial Changes
----------------------
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
Submitting Changes
------------------
+ Sign the [Contributor License Agreement][cla] if you haven't already.
+ Push your changes to a topic branch in your fork of the repository.
+ Submit a pull request to the repository in the apache organization.
+ Update your JIRA ticket and include a link to the pull request in the ticket.
Additional Resources
--------------------
+ [Apache log4net JIRA project page](https://issues.apache.org/jira/browse/LOG4NET)
+ [Contributor License Agreement][cla]
+ [General GitHub documentation](https://help.github.com/)
=====================================================
== File: doc/ReleaseInstructions-legacy.txt
=====================================================
THIS DOCUMENT NEEDS TO BE ADAPTED NOW WE'VE MOVED TO GIT
This document is a work in progress and was created in parallel to the
release of Apache log4net 1.2.11 and adapted for 2.0.6.
Prereqs
=======
* make sure you have all the required software around. For the 2.0.6
release this meant
- you may need a couple of Windows or Linux boxes in order to be
able to build all target frameworks.
- Things you need
o a Subversion command line client
o NAnt 0.92 or better http://nant.sourceforge.net/
Make sure to unblock the ZIP before you extract it.
o Some recent version of a Java runtime environment (Java5 at
minimum)
o Apache Maven 3.x http://maven.apache.org/
You may want to set some environment variables like Path (to
include Maven's and NAnt's bin directories), M2_HOME and
JAVA_HOME to make things easier.
o .NET Framework 3.5SP1 and SDK 2.0
As of October 2011 this is available from
<http://msdn.microsoft.com/en-us/netframework/>
o .NET Framework and SDK 4.0
As of October 2011 this is available from
<http://msdn.microsoft.com/en-us/netframework/>
o .NET Core Developer Kit available from https://www.microsoft.com/net/core
o Mono available from http://www.mono-project.com/download/
Unfortunately NAnt 0.92 has issues with Mono that is too recent,
I used a Ubuntu 14.04 installation and installed NAnt and Mono
via the Ubuntu Debian packages. It comes with Mono 3.2.8.
o Sandcastle Help File Builder with its Dependencies
=====================================================
== File: appveyer.yml
=====================================================
version: 1.0.{build}
image: Visual Studio 2019
build_script:
- cmd: >-
npm ci
npm test
npm run release
artifacts:
- path: build/artifacts/*
|