blob: be7d0e3f29adf93c25e35214a7749c1502daa17d [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Generated by Apache Maven Doxia at 2022-07-25 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Apache log4net &#x2013; Rat (Release Audit Tool) results - Apache log4net</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="./css/site.css" type="text/css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/prettify.min.js"></script>
<script type="text/javascript" src="./js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20220725" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<a href="https://logging.apache.org/">
<img class="logo-left" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<!--img class="logo-right" src="./images/logo.png" alt="Apache log4net logo" /-->
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="http://logging.apache.org/log4net/">Apache log4net &trade;</a>
<ul class="nav">
<li>
<a href="https://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="https://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="https://github.com/apache/logging-log4net/" class="external" target="_blank" title="GitHub">GitHub</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>Apache log4net</li>
<li class="none">
<a href="index.html" title="About">About</a>
</li>
<li class="none">
<a href="download_log4net.html" title="Download">Download</a>
</li>
<li class="none">
<a href="release/security-reports.html" title="Security Reports">Security Reports</a>
</li>
<li class="none">
<a href="release/release-notes.html" title="Release Notes">Release Notes</a>
</li>
<li class="none">
<a href="license.html" title="License">License</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-file"></i>Documentation</li>
<li class="none">
<a href="release/features.html" title="Features">Features</a>
</li>
<li class="none">
<a href="release/framework-support.html" title="Supported Frameworks">Supported Frameworks</a>
</li>
<li class="none">
<a href="release/example-apps.html" title="Example Apps">Example Apps</a>
</li>
<li class="none">
<a href="release/config-examples.html" title="Config Examples">Config Examples</a>
</li>
<li class="none">
<a href="release/building.html" title="Building">Building</a>
</li>
<li class="none">
<a href="release/faq.html" title="FAQ">FAQ</a>
</li>
<li class="none">
<a href="release/howto/index.html" title="How Tos">How Tos</a>
</li>
<li class="none">
<a href="release/sdk/index.html" title="SDK Reference">SDK Reference</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Manual</li>
<li class="none">
<a href="release/manual/introduction.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="release/manual/configuration.html" title="Configuration">Configuration</a>
</li>
<li class="none">
<a href="release/manual/contexts.html" title="Contexts">Contexts</a>
</li>
<li class="none">
<a href="release/manual/plugins.html" title="Plugins">Plugins</a>
</li>
<li class="none">
<a href="release/manual/repositories.html" title="Repositories">Repositories</a>
</li>
<li class="none">
<a href="release/manual/internals.html" title="Internals">Internals</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>For Contributors</li>
<li class="none">
<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="source-repository.html" title="Repository">Repository</a>
</li>
<li class="none">
<a href="integration.html" title="Continuous Integration">Continuous Integration</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
<li class="none active">
<a href="rat-report.html" title="RAT Report">RAT Report</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Apache</li>
<li class="none">
<a href="http://www.apache.org/" class="external" target="_blank" title="Home">Home</a>
</li>
<li class="none">
<a href="http://www.apache.org/licenses/" class="external" target="_blank" title="License">License</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/sponsorship.html" class="external" target="_blank" title="Sponsorship">Sponsorship</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/thanks.html" class="external" target="_blank" title="Thanks">Thanks</a>
</li>
<li class="none">
<a href="http://www.apache.org/security/" class="external" target="_blank" title="Security">Security</a>
</li>
<li class="none">
<a href="http://www.apachecon.com" class="external" target="_blank" title="Conferences">Conferences</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<div class="section">
<h2><a name="Rat_Release_Audit_Tool_results"></a>Rat (Release Audit Tool) results</h2>
<p>The following document contains the results of <a class="externalLink" href="http://creadur.apache.org/rat/apache-rat-plugin/">Rat (Release Audit Tool)</a>.</p>
<p></p>
<div class="source">
<pre>
*****************************************************
Summary
-------
Generated at: 2022-07-25T08:56:14+02:00
Notes: 5
Binaries: 259
Archives: 0
Standards: 731
Apache Licensed: 669
Generated Documents: 0
JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.
62 Unknown Licenses
*****************************************************
Files with unapproved licenses:
appveyer.yml
install-net-framework-sdk-3.5.ps1
install-dotnet-core-sdk-1.1.ps1
doc/RELEASING.md
doc/sign-log4net-libraries.sh
doc/BUILDING.md
doc/ReleaseInstructions-legacy.txt
doc/CONTRIBUTING.md
build-with-docker-for-windows.bat
local-tasks/build-site.js
local-tasks/prepare-build-artifacts.js
local-tasks/hash-build-artifacts.js
local-tasks/zip.js
local-tasks/update-version-info.js
local-tasks/prefix-build-artifacts.js
src/Directory.Build.props
src/integration-testing/log4net-611-lib/DerivedAppender.cs
src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
src/integration-testing/log4net-611-main/log4net.config
src/integration-testing/log4net-611-main/Program.cs
src/integration-testing/log4net-611-main/log4net-611-main.csproj
src/integration-testing/log4net-673/log4net.config
src/integration-testing/log4net-673/Program.cs
src/integration-testing/log4net-673/log4net-673.csproj
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.config
src/integration-testing/log4net-672/Program.cs
src/integration-testing/log4net-672/log4net-672.csproj
src/integration-testing/log4net-681/log4net.config
src/integration-testing/log4net-681/Program.cs
src/integration-testing/log4net-681/log4net-681.csproj
src/MonoForFramework.targets
src/log4net/Core/FixFlags.cs
src/log4net/log4net.csproj
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.1
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_default.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.2
src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.3
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.1
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_default.log
src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.xml
src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.xml
src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.xml
src/log4net.Tests/bin/Debug/net462/log4net.xml
src/log4net.Tests/NUnitTestRunnerInitializer.cs
src/log4net.Tests/log4net.Tests.csproj
src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
src/.idea/.idea.log4net/.idea/vcs.xml
src/.idea/.idea.log4net/.idea/workspace.xml
src/.idea/.idea.log4net/.idea/indexLayout.xml
src/.idea/.idea.log4net/.idea/misc.xml
src/.idea/.idea.log4net/.idea/.name
README.md
*****************************************************
*****************************************************
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 examples/mono/nant.build
AL examples/mono/1.0/Performance/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.build
AL examples/mono/1.0/Performance/NotLogging/nant.config
AL examples/mono/1.0/Performance/nant.config
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/LoggingExample.cs
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/src/App.config
AL examples/mono/1.0/Tutorials/ConsoleApp/cs/nant.config
AL examples/mono/1.0/Tutorials/ConsoleApp/nant.build
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/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.build
AL examples/mono/1.0/Repository/SharedModule/nant.config
AL examples/mono/1.0/Repository/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
B examples/mono/1.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/mono/1.0/Repository/SimpleApp/cs/src/App.config
AL examples/mono/1.0/Repository/SimpleApp/cs/nant.config
AL examples/mono/1.0/Repository/SimpleApp/nant.build
AL examples/mono/1.0/Repository/SimpleApp/nant.config
AL examples/mono/1.0/Repository/SimpleModule/cs/nant.build
AL examples/mono/1.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
B examples/mono/1.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
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.build
AL examples/mono/1.0/Repository/SimpleModule/nant.config
AL examples/mono/1.0/Repository/nant.config
AL examples/mono/1.0/nant.build
AL examples/mono/1.0/nant.config
AL examples/mono/nant.config
AL examples/nant.build
AL examples/netcf/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/nant.build
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/AssemblyInfo.cs
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/ConsoleApp.csdproj
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/EntryPoint.cs
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/LoggingExample.cs
B examples/netcf/1.0/Tutorials/ConsoleApp/cs/src/ConsoleApp.exe.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/cs/nant.config
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/AssemblyInfo.vb
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/LoggingExample.vb
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/EntryPoint.vb
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.vbdproj
B examples/netcf/1.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.exe.config
AL examples/netcf/1.0/Tutorials/ConsoleApp/vb/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/cs-examples.sln
AL examples/netcf/1.0/nant.build
AL examples/netcf/1.0/nant.config
AL examples/netcf/1.0/vb-examples.sln
AL examples/netcf/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/LoggingExample.js
AL examples/sscli/1.0/Tutorials/ConsoleApp/js/src/App.config
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/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.build
AL examples/sscli/1.0/Repository/SharedModule/nant.config
AL examples/sscli/1.0/Repository/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
B examples/sscli/1.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/sscli/1.0/Repository/SimpleApp/cs/src/App.config
AL examples/sscli/1.0/Repository/SimpleApp/cs/nant.config
AL examples/sscli/1.0/Repository/SimpleApp/nant.build
AL examples/sscli/1.0/Repository/SimpleApp/nant.config
AL examples/sscli/1.0/Repository/SimpleModule/cs/nant.build
AL examples/sscli/1.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
B examples/sscli/1.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
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.build
AL examples/sscli/1.0/Repository/SimpleModule/nant.config
AL examples/sscli/1.0/Repository/nant.config
AL examples/sscli/1.0/nant.build
AL examples/sscli/1.0/nant.config
AL examples/sscli/nant.config
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/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/js/nant.build
AL examples/net/1.1/Tutorials/ConsoleApp/js/src/LoggingExample.js
AL examples/net/1.1/Tutorials/ConsoleApp/js/src/App.config
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/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/AssemblyInfo.js
AL examples/net/1.1/Repository/SharedModule/js/src/Math.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/nant.build
AL examples/net/1.1/Repository/SimpleApp/nant.build
AL examples/net/1.1/Repository/SimpleApp/js/nant.build
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/App.config
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/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/AssemblyInfo.js
AL examples/net/1.1/Repository/SimpleModule/js/src/Math.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.config
AL examples/net/1.1/nant.build
AL examples/net/1.1/nant.config
AL examples/net/nant.build
AL examples/net/2.0/Performance/nant.build
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.build
AL examples/net/2.0/Performance/NotLogging/vb/nant.build
AL examples/net/2.0/Performance/NotLogging/vb/src/NotLogging.vb
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/nant.config
AL examples/net/2.0/Performance/NotLogging/nant.config
AL examples/net/2.0/Performance/nant.config
AL examples/net/2.0/Remoting/RemotingServer/cs/nant.build
AL examples/net/2.0/Remoting/RemotingServer/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Remoting/RemotingServer/cs/src/RemotingServer.cs
AL examples/net/2.0/Remoting/RemotingServer/cs/src/App.config
AL examples/net/2.0/Remoting/RemotingServer/cs/src/RemotingServer.csproj
AL examples/net/2.0/Remoting/RemotingServer/cs/nant.config
AL examples/net/2.0/Remoting/RemotingServer/nant.build
AL examples/net/2.0/Remoting/RemotingServer/nant.config
AL examples/net/2.0/Remoting/RemotingClient/cs/nant.build
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/RemotingClient.csproj
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.build
AL examples/net/2.0/Remoting/RemotingClient/nant.config
AL examples/net/2.0/Remoting/nant.build
AL examples/net/2.0/Remoting/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/ConsoleApp.csproj
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/LoggingExample.cs
AL examples/net/2.0/Tutorials/ConsoleApp/cs/src/App.config
AL examples/net/2.0/Tutorials/ConsoleApp/cs/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/AssemblyInfo.vb
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/LoggingExample.vb
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/ConsoleApp.vbproj
AL examples/net/2.0/Tutorials/ConsoleApp/vb/src/App.config
AL examples/net/2.0/Tutorials/ConsoleApp/vb/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/nant.config
AL examples/net/2.0/Tutorials/WebApp/cs/nant.build
AL examples/net/2.0/Tutorials/WebApp/cs/src/AssemblyInfo.cs
B examples/net/2.0/Tutorials/WebApp/cs/src/SimpleModule.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/cs/src/AssemblyVersionInfo.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/Web.config
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.vsdisco
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx.cs
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx.resx
B examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax
AL examples/net/2.0/Tutorials/WebApp/cs/src/Global.asax.resx
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebForm1.aspx
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.csproj.webinfo
AL examples/net/2.0/Tutorials/WebApp/cs/src/WebApp.csproj
AL examples/net/2.0/Tutorials/WebApp/cs/nant.config
AL examples/net/2.0/Tutorials/WebApp/nant.build
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/Global.asax.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebForm1.aspx.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/AssemblyInfo.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/Web.config
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.vsdisco
AL examples/net/2.0/Tutorials/WebApp/vb/src/WebForm1.aspx.resx
B examples/net/2.0/Tutorials/WebApp/vb/src/WebApp.dll.log4net
AL examples/net/2.0/Tutorials/WebApp/vb/src/AssemblyVersionInfo.vb
AL examples/net/2.0/Tutorials/WebApp/vb/src/Global.asax
AL examples/net/2.0/Tutorials/WebApp/vb/src/Global.asax.resx
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/WebForm1.aspx
AL examples/net/2.0/Tutorials/WebApp/vb/nant.config
N examples/net/2.0/Tutorials/WebApp/readme.txt
AL examples/net/2.0/Tutorials/WebApp/nant.config
AL examples/net/2.0/cs-examples.sln
AL examples/net/2.0/Repository/SharedModule/cs/nant.build
AL examples/net/2.0/Repository/SharedModule/cs/src/SharedModule.csproj
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/nant.config
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/AssemblyInfo.vb
AL examples/net/2.0/Repository/SharedModule/vb/src/SharedModule.vbproj
AL examples/net/2.0/Repository/SharedModule/vb/src/Math.vb
AL examples/net/2.0/Repository/SharedModule/vb/nant.config
AL examples/net/2.0/Repository/SharedModule/nant.config
AL examples/net/2.0/Repository/nant.build
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
B examples/net/2.0/Repository/SimpleApp/cs/src/SimpleApp.exe.log4net
AL examples/net/2.0/Repository/SimpleApp/cs/src/App.config
AL examples/net/2.0/Repository/SimpleApp/cs/src/SimpleApp.csproj
AL examples/net/2.0/Repository/SimpleApp/cs/nant.config
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/AssemblyInfo.vb
B examples/net/2.0/Repository/SimpleApp/vb/src/SimpleApp.exe.log4net
AL examples/net/2.0/Repository/SimpleApp/vb/src/SimpleApp.vbproj
AL examples/net/2.0/Repository/SimpleApp/vb/src/App.config
AL examples/net/2.0/Repository/SimpleApp/vb/src/EntryPoint.vb
AL examples/net/2.0/Repository/SimpleApp/vb/nant.config
AL examples/net/2.0/Repository/SimpleApp/nant.config
AL examples/net/2.0/Repository/SimpleModule/cs/nant.build
AL examples/net/2.0/Repository/SimpleModule/cs/src/AssemblyInfo.cs
B examples/net/2.0/Repository/SimpleModule/cs/src/SimpleModule.dll.log4net
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.build
AL examples/net/2.0/Repository/SimpleModule/vb/nant.build
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/Math.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/nant.config
AL examples/net/2.0/Repository/nant.config
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/nant.build
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/LoggingExample.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/App.config
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/Layout/LevelPatternLayout.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/Layout/ForwardingLayout.cs
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/src/SampleLayoutsApp.csproj
AL examples/net/2.0/Layouts/SampleLayoutsApp/cs/nant.config
AL examples/net/2.0/Layouts/SampleLayoutsApp/nant.build
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/Extensibility/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.csproj
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/nant.config
AL examples/net/2.0/Extensibility/EventIDLogApp/nant.build
AL examples/net/2.0/Extensibility/EventIDLogApp/nant.config
AL examples/net/2.0/Extensibility/nant.config
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
B examples/net/2.0/Extensibility/TraceLogApp/cs/src/TraceLogApp.exe.log4net
AL examples/net/2.0/Extensibility/TraceLogApp/cs/src/TraceLogApp.csproj
AL examples/net/2.0/Extensibility/TraceLogApp/cs/nant.config
AL examples/net/2.0/Extensibility/TraceLogApp/nant.build
AL examples/net/2.0/Extensibility/TraceLogApp/nant.config
AL examples/net/2.0/nant.build
AL examples/net/2.0/nant.config
AL examples/net/2.0/vb-examples.sln
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/nant.build
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/AssemblyInfo.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/FastDbAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/PatternLayoutAdoNetAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/MessageObjectExpanderAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/FireEventAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/AsyncAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/SimpleSmtpAppender.cs
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/PatternLayoutAdoNetAppenderParameter.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/MessageBoxAppender.cs
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/src/App.config
AL examples/net/2.0/Appenders/SampleAppendersApp/cs/nant.config
AL examples/net/2.0/Appenders/SampleAppendersApp/nant.build
AL examples/net/2.0/Appenders/SampleAppendersApp/nant.config
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/WmiLayout.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/IWmiBoundEvent.cs
AL examples/net/2.0/Appenders/WmiAppender/cs/src/WmiLoggingEvent.cs
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/src/WmiAppender.csproj
AL examples/net/2.0/Appenders/WmiAppender/cs/nant.config
AL examples/net/2.0/Appenders/WmiAppender/nant.build
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/nant.config
AL examples/nant.config
AL log4net.include
AL log4net.shfbproj
!????? appveyer.yml
!????? install-net-framework-sdk-3.5.ps1
B package-icon.png
N KEYS
!????? install-dotnet-core-sdk-1.1.ps1
!????? doc/RELEASING.md
!????? doc/sign-log4net-libraries.sh
!????? doc/BUILDING.md
!????? doc/ReleaseInstructions-legacy.txt
!????? doc/CONTRIBUTING.md
AL tests/nant.build
AL netstandard/log4net.tests/CompatibilityExtensions.cs
AL netstandard/log4net.tests/log4net.tests.xproj
AL netstandard/log4net.tests/ApplicationException.cs
AL netstandard/log4net.tests/ExpectedExceptionAttribute.cs
AL netstandard/log4net/CompatibilityExtensions.cs
AL netstandard/log4net/log4net.xproj
AL netstandard/log4net.netstandard.sln
AL extensions/nant.build
AL extensions/net/nant.build
AL extensions/net/1.0/cs-extensions.sln
AL extensions/net/1.0/nant.build
AL extensions/net/1.0/log4net.Ext.Trace/cs/nant.build
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/src/ITraceLog.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/src/TraceLogManager.cs
AL extensions/net/1.0/log4net.Ext.Trace/cs/nant.config
AL extensions/net/1.0/log4net.Ext.Trace/nant.build
AL extensions/net/1.0/log4net.Ext.Trace/nant.config
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/MarshalByRefLogImpl.cs
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/MarshalByRefLogManager.cs
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/src/log4net.Ext.MarshalByRef.csproj
AL extensions/net/1.0/log4net.Ext.MarshalByRef/cs/nant.config
AL extensions/net/1.0/log4net.Ext.MarshalByRef/nant.build
AL extensions/net/1.0/log4net.Ext.MarshalByRef/nant.config
AL extensions/net/1.0/nant.config
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/log4net.Ext.EventID.csproj
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/EventIDLogImpl.cs
AL extensions/net/1.0/log4net.Ext.EventID/cs/nant.config
AL extensions/net/1.0/log4net.Ext.EventID/nant.build
AL extensions/net/1.0/log4net.Ext.EventID/nant.config
AL extensions/net/nant.config
AL extensions/nant.config
AL Jenkinsfile
N STATUS.txt
!????? build-with-docker-for-windows.bat
N NOTICE
!????? local-tasks/build-site.js
!????? local-tasks/prepare-build-artifacts.js
!????? local-tasks/hash-build-artifacts.js
!????? local-tasks/zip.js
!????? local-tasks/update-version-info.js
!????? local-tasks/prefix-build-artifacts.js
!????? src/Directory.Build.props
AL src/site/site.xml
AL src/site/site.vm
AL src/site/apt/roadmap.apt
AL src/site/xdoc/history.xml
AL src/site/xdoc/release/manual/internals.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/repositories.xml
AL src/site/xdoc/release/manual/introduction.xml
AL src/site/xdoc/release/security-reports.xml
AL src/site/xdoc/release/example-apps.xml
AL src/site/xdoc/release/features.xml
AL src/site/xdoc/release/config-examples.xml
AL src/site/xdoc/release/release-notes.xml
AL src/site/xdoc/release/faq.xml
AL src/site/xdoc/release/building.xml
AL src/site/xdoc/release/howto/chainsaw.xml
AL src/site/xdoc/release/howto/index.xml
AL src/site/xdoc/release/framework-support.xml
AL src/site/xdoc/download_log4net.xml
AL src/site/xdoc/index.xml
!????? src/integration-testing/log4net-611-lib/DerivedAppender.cs
!????? src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
!????? src/integration-testing/log4net-611-main/log4net.config
!????? src/integration-testing/log4net-611-main/Program.cs
!????? src/integration-testing/log4net-611-main/log4net-611-main.csproj
!????? src/integration-testing/log4net-673/log4net.config
!????? src/integration-testing/log4net-673/Program.cs
!????? src/integration-testing/log4net-673/log4net-673.csproj
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.Utils.dll
!????? src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.config
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.pdb
B src/integration-testing/log4net-672/bin/Debug/net6.0/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll
!????? src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.xml
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672.pdb
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.EasyArgs.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net-672
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.Configuration.ConfigurationManager.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.dll
B src/integration-testing/log4net-672/bin/Debug/net6.0/PeanutButter.DuckTyping.dll
!????? src/integration-testing/log4net-672/log4net.config
!????? src/integration-testing/log4net-672/Program.cs
!????? src/integration-testing/log4net-672/log4net-672.csproj
!????? src/integration-testing/log4net-681/log4net.config
!????? src/integration-testing/log4net-681/Program.cs
!????? src/integration-testing/log4net-681/log4net-681.csproj
AL src/log4net.sln
AL src/changes/changes.xml
!????? src/MonoForFramework.targets
AL src/log4net/AssemblyInfo.cs
AL src/log4net/AssemblyVersionInfo.cs
AL src/log4net/Appender/AppenderSkeleton.cs
AL src/log4net/Appender/SmtpPickupDirAppender.cs
AL src/log4net/Appender/ManagedColoredConsoleAppender.cs
AL src/log4net/Appender/RollingFileAppender.cs
AL src/log4net/Appender/LocalSyslogAppender.cs
AL src/log4net/Appender/IBulkAppender.cs
AL src/log4net/Appender/OutputDebugStringAppender.cs
AL src/log4net/Appender/RemoteSyslogAppender.cs
AL src/log4net/Appender/EventLogAppender.cs
AL src/log4net/Appender/TraceAppender.cs
AL src/log4net/Appender/BufferingForwardingAppender.cs
AL src/log4net/Appender/RemotingAppender.cs
AL src/log4net/Appender/ForwardingAppender.cs
AL src/log4net/Appender/TextWriterAppender.cs
AL src/log4net/Appender/FileAppender.cs
AL src/log4net/Appender/SmtpAppender.cs
AL src/log4net/Appender/DebugAppender.cs
AL src/log4net/Appender/AppenderCollection.cs
AL src/log4net/Appender/ColoredConsoleAppender.cs
AL src/log4net/Appender/AnsiColorTerminalAppender.cs
AL src/log4net/Appender/BufferingAppenderSkeleton.cs
AL src/log4net/Appender/NetSendAppender.cs
AL src/log4net/Appender/IAppender.cs
AL src/log4net/Appender/TelnetAppender.cs
AL src/log4net/Appender/MemoryAppender.cs
AL src/log4net/Appender/UdpAppender.cs
AL src/log4net/Appender/AspNetTraceAppender.cs
AL src/log4net/Appender/ConsoleAppender.cs
AL src/log4net/Appender/AdoNetAppender.cs
AL src/log4net/Appender/IFlushable.cs
AL src/log4net/LogicalThreadContext.cs
AL src/log4net/Log4netAssemblyInfo.cs
AL src/log4net/MDC.cs
AL src/log4net/Repository/IXmlRepositoryConfigurator.cs
AL src/log4net/Repository/ILoggerRepository.cs
AL src/log4net/Repository/Hierarchy/RootLogger.cs
AL src/log4net/Repository/Hierarchy/DefaultLoggerFactory.cs
AL src/log4net/Repository/Hierarchy/Hierarchy.cs
AL src/log4net/Repository/Hierarchy/XmlHierarchyConfigurator.cs
AL src/log4net/Repository/Hierarchy/LoggerKey.cs
AL src/log4net/Repository/Hierarchy/ProvisionNode.cs
AL src/log4net/Repository/Hierarchy/ILoggerFactory.cs
AL src/log4net/Repository/Hierarchy/Logger.cs
AL src/log4net/Repository/IBasicRepositoryConfigurator.cs
AL src/log4net/Repository/ConfigurationChangedEventArgs.cs
AL src/log4net/Repository/LoggerRepositorySkeleton.cs
AL src/log4net/ThreadContext.cs
AL src/log4net/Filter/PropertyFilter.cs
AL src/log4net/Filter/MdcFilter.cs
AL src/log4net/Filter/IFilter.cs
AL src/log4net/Filter/NdcFilter.cs
AL src/log4net/Filter/FilterDecision.cs
AL src/log4net/Filter/StringMatchFilter.cs
AL src/log4net/Filter/LevelRangeFilter.cs
AL src/log4net/Filter/LevelMatchFilter.cs
AL src/log4net/Filter/LoggerMatchFilter.cs
AL src/log4net/Filter/FilterSkeleton.cs
AL src/log4net/Filter/DenyAllFilter.cs
AL src/log4net/Config/PluginAttribute.cs
AL src/log4net/Config/RepositoryAttribute.cs
AL src/log4net/Config/DOMConfiguratorAttribute.cs
AL src/log4net/Config/XmlConfigurator.cs
AL src/log4net/Config/BasicConfigurator.cs
AL src/log4net/Config/SecurityContextProviderAttribute.cs
AL src/log4net/Config/DomainAttribute.cs
AL src/log4net/Config/AliasDomainAttribute.cs
AL src/log4net/Config/ConfiguratorAttribute.cs
AL src/log4net/Config/Log4NetConfigurationSectionHandler.cs
AL src/log4net/Config/DOMConfigurator.cs
AL src/log4net/Config/XmlConfiguratorAttribute.cs
AL src/log4net/Config/AliasRepositoryAttribute.cs
AL src/log4net/LogManager.cs
AL src/log4net/Plugin/PluginCollection.cs
AL src/log4net/Plugin/IPluginFactory.cs
AL src/log4net/Plugin/PluginMap.cs
AL src/log4net/Plugin/IPlugin.cs
AL src/log4net/Plugin/PluginSkeleton.cs
AL src/log4net/Plugin/RemoteLoggingServerPlugin.cs
AL src/log4net/Core/LevelEvaluator.cs
AL src/log4net/Core/SecurityContextProvider.cs
AL src/log4net/Core/CompactRepositorySelector.cs
!????? src/log4net/Core/FixFlags.cs
AL src/log4net/Core/IAppenderAttachable.cs
AL src/log4net/Core/SecurityContext.cs
AL src/log4net/Core/ILoggerWrapper.cs
AL src/log4net/Core/ErrorCode.cs
AL src/log4net/Core/LogException.cs
AL src/log4net/Core/IFixingRequired.cs
AL src/log4net/Core/ILogger.cs
AL src/log4net/Core/MethodItem.cs
AL src/log4net/Core/LevelCollection.cs
AL src/log4net/Core/IOptionHandler.cs
AL src/log4net/Core/StackFrameItem.cs
AL src/log4net/Core/ExceptionEvaluator.cs
AL src/log4net/Core/IErrorHandler.cs
AL src/log4net/Core/ITriggeringEventEvaluator.cs
AL src/log4net/Core/WrapperMap.cs
AL src/log4net/Core/LevelMap.cs
AL src/log4net/Core/LogImpl.cs
AL src/log4net/Core/TimeEvaluator.cs
AL src/log4net/Core/LoggerWrapperImpl.cs
AL src/log4net/Core/LoggingEvent.cs
AL src/log4net/Core/LoggerManager.cs
AL src/log4net/Core/LocationInfo.cs
AL src/log4net/Core/IRepositorySelector.cs
AL src/log4net/Core/Level.cs
AL src/log4net/Core/DefaultRepositorySelector.cs
!????? src/log4net/log4net.csproj
AL src/log4net/NDC.cs
AL src/log4net/GlobalContext.cs
AL src/log4net/assembly/bin.xml
AL src/log4net/Util/ContextPropertiesBase.cs
AL src/log4net/Util/ILogExtensions.cs
AL src/log4net/Util/ThreadContextProperties.cs
AL src/log4net/Util/PatternConverter.cs
AL src/log4net/Util/ReadOnlyPropertiesDictionary.cs
AL src/log4net/Util/CyclicBuffer.cs
AL src/log4net/Util/ReusableStringWriter.cs
AL src/log4net/Util/QuietTextWriter.cs
AL src/log4net/Util/LevelMappingEntry.cs
AL src/log4net/Util/GlobalContextProperties.cs
AL src/log4net/Util/SystemStringFormat.cs
AL src/log4net/Util/TextWriterAdapter.cs
AL src/log4net/Util/ThreadContextStack.cs
AL src/log4net/Util/ReaderWriterLock.cs
AL src/log4net/Util/EmptyDictionary.cs
AL src/log4net/Util/ThreadContextStacks.cs
AL src/log4net/Util/NullSecurityContext.cs
AL src/log4net/Util/PatternString.cs
AL src/log4net/Util/WindowsSecurityContext.cs
AL src/log4net/Util/ProtectCloseTextWriter.cs
AL src/log4net/Util/OptionConverter.cs
AL src/log4net/Util/CountingQuietTextWriter.cs
AL src/log4net/Util/SystemInfo.cs
AL src/log4net/Util/CompositeProperties.cs
AL src/log4net/Util/TypeConverters/IPAddressConverter.cs
AL src/log4net/Util/TypeConverters/IConvertFrom.cs
AL src/log4net/Util/TypeConverters/IConvertTo.cs
AL src/log4net/Util/TypeConverters/TypeConverter.cs
AL src/log4net/Util/TypeConverters/EncodingConverter.cs
AL src/log4net/Util/TypeConverters/PatternLayoutConverter.cs
AL src/log4net/Util/TypeConverters/TypeConverterAttribute.cs
AL src/log4net/Util/TypeConverters/BooleanConverter.cs
AL src/log4net/Util/TypeConverters/PatternStringConverter.cs
AL src/log4net/Util/TypeConverters/ConversionNotSupportedException.cs
AL src/log4net/Util/TypeConverters/ConverterRegistry.cs
AL src/log4net/Util/LevelMapping.cs
AL src/log4net/Util/AppenderAttachedImpl.cs
AL src/log4net/Util/Transform.cs
AL src/log4net/Util/LogicalThreadContextProperties.cs
AL src/log4net/Util/FormattingInfo.cs
AL src/log4net/Util/NullEnumerator.cs
AL src/log4net/Util/LogicalThreadContextStack.cs
AL src/log4net/Util/OnlyOnceErrorHandler.cs
AL src/log4net/Util/ConverterInfo.cs
AL src/log4net/Util/PropertiesDictionary.cs
AL src/log4net/Util/LogLog.cs
AL src/log4net/Util/PatternStringConverters/DatePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/AppSettingPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/EnvironmentPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/UtcDatePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/ProcessIdPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/UserNamePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/EnvironmentFolderPathPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/NewLinePatternConverter.cs
AL src/log4net/Util/PatternStringConverters/RandomStringPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/PropertyPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/AppDomainPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/LiteralPatternConverter.cs
AL src/log4net/Util/PatternStringConverters/IdentityPatternConverter.cs
AL src/log4net/Util/NullDictionaryEnumerator.cs
AL src/log4net/Util/LogicalThreadContextStacks.cs
AL src/log4net/Util/EmptyCollection.cs
AL src/log4net/Util/PropertyEntry.cs
AL src/log4net/Util/NativeError.cs
AL src/log4net/Util/PatternParser.cs
AL src/log4net/ObjectRenderer/IObjectRenderer.cs
AL src/log4net/ObjectRenderer/RendererMap.cs
AL src/log4net/ObjectRenderer/DefaultRenderer.cs
AL src/log4net/DateFormatter/IDateFormatter.cs
AL src/log4net/DateFormatter/DateTimeDateFormatter.cs
AL src/log4net/DateFormatter/Iso8601DateFormatter.cs
AL src/log4net/DateFormatter/SimpleDateFormatter.cs
AL src/log4net/DateFormatter/AbsoluteTimeDateFormatter.cs
AL src/log4net/NetStandardCompatibilityExtensions.cs
AL src/log4net/ILog.cs
AL src/log4net/Layout/PatternLayout.cs
AL src/log4net/Layout/SimpleLayout.cs
AL src/log4net/Layout/RawUtcTimeStampLayout.cs
AL src/log4net/Layout/RawTimeStampLayout.cs
AL src/log4net/Layout/RawPropertyLayout.cs
AL src/log4net/Layout/LayoutSkeleton.cs
AL src/log4net/Layout/Pattern/MessagePatternConverter.cs
AL src/log4net/Layout/Pattern/DatePatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetRequestPatternConverter.cs
AL src/log4net/Layout/Pattern/UtcDatePatternConverter.cs
AL src/log4net/Layout/Pattern/RelativeTimePatternConverter.cs
AL src/log4net/Layout/Pattern/ThreadPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetPatternConverter.cs
AL src/log4net/Layout/Pattern/NamedPatternConverter.cs
AL src/log4net/Layout/Pattern/TypeNamePatternConverter.cs
AL src/log4net/Layout/Pattern/FullLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/UserNamePatternConverter.cs
AL src/log4net/Layout/Pattern/NdcPatternConverter.cs
AL src/log4net/Layout/Pattern/LoggerPatternConverter.cs
AL src/log4net/Layout/Pattern/StackTraceDetailPatternConverter.cs
AL src/log4net/Layout/Pattern/LevelPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetSessionPatternConverter.cs
AL src/log4net/Layout/Pattern/PropertyPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetContextPatternConverter.cs
AL src/log4net/Layout/Pattern/PatternLayoutConverter.cs
AL src/log4net/Layout/Pattern/LineLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/AppDomainPatternConverter.cs
AL src/log4net/Layout/Pattern/FileLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/AspNetCachePatternConverter.cs
AL src/log4net/Layout/Pattern/IdentityPatternConverter.cs
AL src/log4net/Layout/Pattern/MethodLocationPatternConverter.cs
AL src/log4net/Layout/Pattern/StackTracePatternConverter.cs
AL src/log4net/Layout/Pattern/ExceptionPatternConverter.cs
AL src/log4net/Layout/XmlLayout.cs
AL src/log4net/Layout/IRawLayout.cs
AL src/log4net/Layout/ILayout.cs
AL src/log4net/Layout/XmlLayoutBase.cs
AL src/log4net/Layout/DynamicPatternLayout.cs
AL src/log4net/Layout/Layout2RawLayoutAdapter.cs
AL src/log4net/Layout/RawLayoutConverter.cs
AL src/log4net/Layout/ExceptionLayout.cs
AL src/log4net/Layout/XmlLayoutSchemaLog4j.cs
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/zh-Hant/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.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.VisualStudio.TestPlatform.ObjectModel.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.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/tr/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/ru/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/System.Security.Permissions.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.DotNet.InternalAbstractions.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/testhost.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Xml.XPath.XmlDocument.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/Microsoft.TestPlatform.CoreUtilities.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.VisualStudio.TestPlatform.ObjectModel.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.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.PlatformAbstractions.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/NuGet.Frameworks.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/NUnit3.TestAdapter.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.1
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.framework.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.VisualStudio.TestPlatform.ObjectModel.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.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/es/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_default.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log.2
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.Tests.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/nunit.engine.core.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.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.VisualStudio.TestPlatform.ObjectModel.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.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/System.Configuration.ConfigurationManager.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/Newtonsoft.Json.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.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.VisualStudio.TestPlatform.ObjectModel.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.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/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/nunit.engine.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.pdb
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.Tests.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp1.0/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.pdb
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.3
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.api.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/NUnit3.TestAdapter.dll
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.1
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/NUnit3.TestAdapter.pdb
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_default.log
!????? src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.Tests.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/nunit.engine.core.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.Tests.pdb
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.pdb
!????? src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
B src/log4net.Tests/bin/CrossPlatform/net462/nunit.framework.dll
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.Tests.dll
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.dll
B src/log4net.Tests/bin/CrossPlatform/net462/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/zh-Hant/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/ko/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/tr/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/ru/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/Microsoft.VisualStudio.TestPlatform.ObjectModel.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.VisualStudio.TestPlatform.ObjectModel.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.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/System.Security.Permissions.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.DotNet.InternalAbstractions.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/testhost.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/System.Xml.XPath.XmlDocument.dll
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/Microsoft.TestPlatform.CoreUtilities.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.VisualStudio.TestPlatform.ObjectModel.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.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.PlatformAbstractions.dll
!????? src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.xml
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NuGet.Frameworks.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.framework.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.VisualStudio.TestPlatform.ObjectModel.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.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/es/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/de/Microsoft.TestPlatform.CoreUtilities.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.TestPlatform.CrossPlatEngine.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/System.Security.Cryptography.ProtectedData.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.Tests.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/nunit.engine.core.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.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.VisualStudio.TestPlatform.ObjectModel.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.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/System.Configuration.ConfigurationManager.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll
B src/log4net.Tests/bin/Debug/netcoreapp3.1/log4net.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.VisualStudio.TestPlatform.ObjectModel.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.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/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp1.0/nunit.engine.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.pdb
!????? src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.xml
B src/log4net.Tests/bin/Debug/netcoreapp1.0/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.Tests.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.dll
B src/log4net.Tests/bin/Debug/netcoreapp1.0/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.pdb
!????? src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.xml
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.api.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/NUnit3.TestAdapter.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/NUnit3.TestAdapter.pdb
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.Tests.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/nunit.engine.core.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.dll
B src/log4net.Tests/bin/Debug/netcoreapp2.1/log4net.Tests.pdb
B src/log4net.Tests/bin/Debug/net462/log4net.pdb
!????? src/log4net.Tests/bin/Debug/net462/log4net.xml
B src/log4net.Tests/bin/Debug/net462/nunit.framework.dll
B src/log4net.Tests/bin/Debug/net462/log4net.Tests.dll
B src/log4net.Tests/bin/Debug/net462/log4net.dll
B src/log4net.Tests/bin/Debug/net462/log4net.Tests.pdb
AL src/log4net.Tests/AssemblyInfo.cs
!????? src/log4net.Tests/NUnitTestRunnerInitializer.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetConnection.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetTransaction.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetCommand.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetParameter.cs
AL src/log4net.Tests/Appender/AdoNet/Log4NetParameterCollection.cs
AL src/log4net.Tests/Appender/DebugAppenderTest.cs
AL src/log4net.Tests/Appender/RollingFileAppenderTest.cs
AL src/log4net.Tests/Appender/AdoNetAppenderTest.cs
AL src/log4net.Tests/Appender/CountingAppender.cs
AL src/log4net.Tests/Appender/EventLogAppenderTest.cs
AL src/log4net.Tests/Appender/BufferingAppenderTest.cs
AL src/log4net.Tests/Appender/AppenderCollectionTest.cs
AL src/log4net.Tests/Appender/RemotingAppenderTest.cs
AL src/log4net.Tests/Appender/TraceAppenderTest.cs
AL src/log4net.Tests/Appender/RecursiveLoggingTest.cs
AL src/log4net.Tests/Appender/SmtpPickupDirAppenderTest.cs
AL src/log4net.Tests/Appender/StringAppender.cs
AL src/log4net.Tests/Appender/MemoryAppenderTest.cs
AL src/log4net.Tests/Appender/EventRaisingAppender.cs
AL src/log4net.Tests/Utils.cs
AL src/log4net.Tests/Filter/FilterTest.cs
AL src/log4net.Tests/Hierarchy/Hierarchy.cs
AL src/log4net.Tests/Hierarchy/XmlHierarchyConfiguratorTest.cs
AL src/log4net.Tests/Hierarchy/Logger.cs
!????? src/log4net.Tests/log4net.Tests.csproj
AL src/log4net.Tests/Core/ShutdownTest.cs
AL src/log4net.Tests/Core/EvaluatorTest.cs
AL src/log4net.Tests/Core/StringFormatTest.cs
AL src/log4net.Tests/Core/FixingTest.cs
AL src/log4net.Tests/Context/ThreadContextTest.cs
AL src/log4net.Tests/Context/LogicalThreadContextTest.cs
AL src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
AL src/log4net.Tests/Util/PatternConverterTest.cs
AL src/log4net.Tests/Util/PropertiesDictionaryTest.cs
AL src/log4net.Tests/Util/EnvironmentPatternConverterTest.cs
AL src/log4net.Tests/Util/CyclicBufferTest.cs
AL src/log4net.Tests/Util/SystemInfoTest.cs
AL src/log4net.Tests/Util/RandomStringPatternConverterTest.cs
AL src/log4net.Tests/Util/PatternStringTest.cs
AL src/log4net.Tests/Util/TransformTest.cs
AL src/log4net.Tests/Util/LogLogTest.cs
AL src/log4net.Tests/DateFormatter/AbsoluteTimeDateFormatterTest.cs
AL src/log4net.Tests/Layout/XmlLayoutTest.cs
AL src/log4net.Tests/Layout/PatternLayoutTest.cs
AL src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
!????? src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
!????? src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
!????? src/.idea/.idea.log4net/.idea/vcs.xml
!????? src/.idea/.idea.log4net/.idea/workspace.xml
!????? src/.idea/.idea.log4net/.idea/indexLayout.xml
!????? src/.idea/.idea.log4net/.idea/misc.xml
!????? src/.idea/.idea.log4net/.idea/.name
B build-tools/nuget.exe
AL log4net.build
!????? README.md
AL build.cmd
AL pom.xml
N LICENSE
*****************************************************
Printing headers for text files without a valid license header...
=====================================================
== File: appveyer.yml
=====================================================
version: 1.0.{build}
image: Visual Studio 2019
build_script:
- cmd: &gt;-
npm ci
npm test
npm run release
artifacts:
- path: build/artifacts/*
=====================================================
== File: install-net-framework-sdk-3.5.ps1
=====================================================
#Enforce TLS 1.2 as Microsoft is deprecating all old TLS versions
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
if (-not (Test-Path dotnetfx35.exe)) {
Write-Host &quot;Downloading dotnetfx35.exe&quot;
Invoke-WebRequest -Uri &quot;https://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe&quot; -OutFile dotnetfx35.exe
}
Write-Host &quot;Running dotnetfx35.exe&quot;
$process = Start-Process -FilePath dotnetfx35.exe -ArgumentList &quot;/wait&quot;,&quot;/passive&quot; -Wait -PassThru
if ($process.ExitCode -eq 0) {
Write-Host &quot;dotnetfx35 installed&quot;
} else {
Write-Host &quot;dotnetfx35 installer returned exit code ${process.ExitCode}&quot;
}
if (-not (Test-Path dotnetfx35client.exe)) {
Write-host &quot;Downloading dotnetfx35client.exe&quot;
Invoke-WebRequest -Uri &quot;https://download.microsoft.com/download/c/d/c/cdc0f321-4f72-4a08-9bac-082f3692ecd9/DotNetFx35Client.exe&quot; -OutFile dotnetfx35client.exe
}
Write-Host &quot;Running dotnetfx35client.exe&quot;
$process = Start-Process -FilePath dotnetfx35client.exe -ArgumentList &quot;/quiet&quot;,&quot;/passive&quot; -Wait -PassThru
if ($process.ExitCode -eq 0) {
Write-Host &quot;dotnetfx35client installed&quot;
} else {
Write-Host &quot;dotnetfx35client installer returned exit code ${process.ExitCode}&quot;
}
=====================================================
== File: install-dotnet-core-sdk-1.1.ps1
=====================================================
#Enforce TLS 1.2 as Microsoft is deprecating all old TLS versions
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
$installer=&quot;dotnet-dev-win-x64.1.1.14.exe&quot;
Write-Host &quot;Downloading $installer&quot;
Invoke-WebRequest -Uri &quot;https://download.visualstudio.microsoft.com/download/pr/c6b9a396-5e7a-4b91-86f6-f9e8df3bf1dd/6d61addfd6069e404981bede03f8f4f9/$installer&quot; -OutFile $installer
Write-Host &quot;Running $installer&quot;
Start-Process -FilePath $installer -ArgumentList &quot;/wait&quot;,&quot;/passive&quot; -Wait
Write-Host &quot;dotnet core sdk 1.1 installed&quot;
=====================================================
== 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 &amp; 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 &amp; 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)
4. Sign release artifacts (zips &amp; 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)
7. Update the symlinks in the base of the docs repo, ie:
- 2.0.x -&gt; 2.0.123
- 2.x -&gt; 2.0.123
8. update the `doap_log4net.rdf` to point to the new release
- (copy-paste-modify an existing release)
9. update the `.htaccess` file
- the trailing RewriteRule should point to the new log4net-2.0.123 folder
10. push the `asf-staging` branch to github and wait a bit
=====================================================
== 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 &quot;signing: $f&quot;
gpg --armor --output $f.asc --detach-sig $f
done
if test &quot;$DID_SOMETHING&quot; = &quot;0&quot;; then
echo &quot;No log4net artifacts found - are you sure you're in the right directory?&quot;
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/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
&lt;http://msdn.microsoft.com/en-us/netframework/&gt;
o .NET Framework and SDK 4.0
As of October 2011 this is available from
&lt;http://msdn.microsoft.com/en-us/netframework/&gt;
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: 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: build-with-docker-for-windows.bat
=====================================================
docker run -v %~dp0%:C:\dev -v %USERPROFILE%\.nuget\packages:C:\packages -t davydm/net-build-tools:vs2019 &quot;npm ci &amp;&amp; npm run build&quot;
=====================================================
== File: local-tasks/build-site.js
=====================================================
const
gulp = requireModule(&quot;gulp&quot;),
spawn = requireModule(&quot;spawn&quot;),
env = requireModule(&quot;env&quot;),
os = require(&quot;os&quot;),
which = require(&quot;which&quot;);
gulp.task(&quot;build-site&quot;, async () =&gt; {
let maven;
try {
maven = await which(&quot;mvn&quot;);
} catch (e) {
let extra;
switch (os.platform()) {
case &quot;win32&quot;:
extra = &quot;You may install maven via chocolatey (https://chocolatey.org)&quot;;
break;
case &quot;darwin&quot;:
extra = &quot;You may install maven via homebrew&quot;;
break;
default:
extra = &quot;You should install maven with your package manager&quot;;
break;
}
throw new Error(`Unable to find mvn in your path. ${extra}`);
}
return spawn(&quot;mvn&quot;, [ &quot;site&quot; ]);
});
=====================================================
== File: local-tasks/prepare-build-artifacts.js
=====================================================
const
gulp = requireModule(&quot;gulp&quot;);
gulp.task(&quot;prepare-build-artifacts&quot;, gulp.series(
&quot;zip&quot;,
&quot;prefix-build-artifacts&quot;,
&quot;hash-build-artifacts&quot;
));
=====================================================
== File: local-tasks/hash-build-artifacts.js
=====================================================
const
gulp = requireModule(&quot;gulp&quot;);
gulp.task(&quot;hash-build-artifacts&quot;, async () =&gt; {
const
path = require(&quot;path&quot;),
crypto = require(&quot;crypto&quot;),
{ readFile, writeFile, ls, FsEntities } = require(&quot;yafs&quot;),
artifactsFolder = path.join(&quot;build&quot;, &quot;artifacts&quot;);
const
buildArtifacts = await ls(artifactsFolder, {
fullPaths: true,
entities: FsEntities.files
}),
nupkg = buildArtifacts.find(p =&gt; p.match(/\.nupkg$/)),
binaries = buildArtifacts.find(p =&gt; p.match(/apache-log4net-binaries-\d+\.\d+\.\d+.zip$/)),
source = buildArtifacts.find(p =&gt; p.match(/apache-log4net-source-\d+\.\d+\.\d+.zip$/));
if (!nupkg) {
throw new Error(`apache-log4net nupkg not found in ${artifactsFolder}`);
}
if (!binaries) {
throw new Error(`apache-log4net binaries zip not found in ${artifactsFolder}`);
}
if (!source) {
throw new Error(`apache-log4net source zip not found in ${artifactsFolder}`);
}
await writeSHA512For(nupkg);
await writeSHA512For(binaries);
await writeSHA512For(source);
function writeSHA512For(filepath) {
return new Promise(async (resolve, reject) =&gt; {
try {
const
hash = crypto.createHash(&quot;sha512&quot;),
data = await readFile(filepath);
hash.update(data);
const
outfile = `${filepath}.sha512`,
hex = hash.digest(&quot;hex&quot;),
contents = `${hex} *${path.basename(filepath)}`;
await writeFile(outfile, contents);
resolve();
} catch (e) {
reject(e);
}
});
}
=====================================================
== File: local-tasks/zip.js
=====================================================
const
gulp = requireModule(&quot;gulp&quot;),
promisify = requireModule(&quot;promisify-stream&quot;),
readCsProjVersion = requireModule(&quot;read-csproj-version&quot;),
target = &quot;build/artifacts&quot;,
debug = require(&quot;gulp-debug&quot;),
rename = require(&quot;gulp-rename&quot;),
zip = require(&quot;gulp-zip&quot;);
gulp.task(&quot;zip&quot;, [&quot;zip-binaries&quot;, &quot;zip-source&quot;], () =&gt; Promise.resolve());
gulp.task(&quot;zip-binaries&quot;, async () =&gt; {
const
version = await readVersion(),
baseDir = `apache-log4net-binaries-${version}`;
return promisify(
gulp.src([&quot;build/Release/**/*&quot;, &quot;LICENSE&quot;, &quot;NOTICE&quot;])
.pipe(rename(path =&gt; {
path.dirname = `${baseDir}/${path.dirname}`
}))
.pipe(zip(`${baseDir}.zip`))
.pipe(gulp.dest(target))
);
});
gulp.task(&quot;zip-source&quot;, async () =&gt; {
const
version = await readVersion(),
baseDir = `apache-log4net-source-${version}`;
return promisify(
gulp.src([
&quot;**/*&quot;,
&quot;!**/obj/**/*&quot;,
&quot;!**/bin/**/*&quot;,
&quot;!node_modules&quot;,
&quot;!node_modules/**/*&quot;,
&quot;!build-tools&quot;,
&quot;!build-tools/**/*&quot;,
&quot;!build&quot;,
&quot;!build/**/*&quot;,
&quot;!.idea&quot;,
&quot;!.idea/**/*&quot;,
&quot;!*.exe&quot;
])
.pipe(rename(path =&gt; {
path.dirname = `${baseDir}/${path.dirname}`
}))
.pipe(zip(`${baseDir}.zip`))
.pipe(gulp.dest(target))
=====================================================
== File: local-tasks/update-version-info.js
=====================================================
const
gulp = requireModule(&quot;gulp&quot;);
gulp.task(&quot;update-version-info&quot;, async () =&gt; {
// the version as per the .csproj is the correct version, but there
// are other places where the version string is set via [assembly]
// attributes, so we need to re-align them all
const
Git = require(&quot;simple-git/promise&quot;),
readTextFile = requireModule(&quot;read-text-file&quot;),
writeTextFile = requireModule(&quot;write-text-file&quot;),
readCsProjVersion = requireModule(&quot;read-csproj-version&quot;),
currentVersion = await readCsProjVersion(&quot;src/log4net/log4net.csproj&quot;),
assemblyInfo = &quot;src/log4net/AssemblyInfo.cs&quot;,
assemblyVersionInfo = &quot;src/log4net/AssemblyVersionInfo.cs&quot;,
versionString = sanitiseVersion(currentVersion);
await updateVersionsIn(assemblyInfo, versionString);
await updateVersionsIn(assemblyVersionInfo, versionString);
const git = new Git(&quot;.&quot;);
await git.add([
assemblyInfo,
assemblyVersionInfo
]);
await git.commit(`:bookmark: update versioning to ${versionString}`);
async function updateVersionsIn(
filePath,
newVersion
) {
const
contents = await readTextFile(filePath),
updated = contents
// specific matches for &quot;x.x.x.x&quot;
.replace(/&quot;\d+\.\d+\.\d+\.\d+&quot;/g, `&quot;${newVersion}&quot;`)
// matches for &quot;x.x.x.x- as found in AssemblyVersionInfo.cs
.replace(/&quot;\d+\.\d+\.\d+\.\d+-/g, `&quot;${newVersion}-`);
await writeTextFile(filePath, updated);
}
function sanitiseVersion(version) {
const parts = version.split(&quot;.&quot;);
while (parts.length &lt; 4) {
parts.push(&quot;0&quot;);
}
return parts.slice(0, 4).join(&quot;.&quot;);
}
});
=====================================================
== File: local-tasks/prefix-build-artifacts.js
=====================================================
const { renameSync } = require(&quot;fs&quot;);
const gulp = requireModule(&quot;gulp&quot;);
gulp.task(&quot;prefix-build-artifacts&quot;, async () =&gt; {
// prefixes build artifacts with 'apache-'
const
{ ls, rename, FsEntities } = require(&quot;yafs&quot;),
path = require(&quot;path&quot;),
artifactsFolder = path.join(&quot;build/artifacts&quot;),
contents = await ls(artifactsFolder, { fullPaths: true, entities: FsEntities.files });
for (let item of contents) {
const basename = path.basename(item);
if (basename.match(/^apache-/)) {
continue;
}
const newName = path.join(
path.dirname(item),
`apache-${basename}`
);
await rename(item, newName, true);
}
});
=====================================================
== File: src/Directory.Build.props
=====================================================
&lt;Project&gt;
&lt;PropertyGroup&gt;
&lt;UseSharedCompilation&gt;true&lt;/UseSharedCompilation&gt;
&lt;/PropertyGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/integration-testing/log4net-611-lib/DerivedAppender.cs
=====================================================
&#xfeff;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[&quot;appender-class-name&quot;] = nameof(DerivedAppender);
base.Append(loggingEvent);
}
}
=====================================================
== File: src/integration-testing/log4net-611-lib/log4net-611-lib.csproj
=====================================================
&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;TargetFramework&gt;netstandard2.0&lt;/TargetFramework&gt;
&lt;RootNamespace&gt;log4net_611_lib&lt;/RootNamespace&gt;
&lt;ImplicitUsings&gt;disable&lt;/ImplicitUsings&gt;
&lt;Nullable&gt;disable&lt;/Nullable&gt;
&lt;LangVersion&gt;latest&lt;/LangVersion&gt;
&lt;/PropertyGroup&gt;
&lt;ItemGroup&gt;
&lt;PackageReference Include=&quot;log4net&quot; Version=&quot;2.0.14&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/integration-testing/log4net-611-main/log4net.config
=====================================================
&lt;log4net&gt;
&lt;appender name=&quot;LogFileAppenderXML&quot; type=&quot;log4net_611_lib.DerivedAppender&quot;&gt;
&lt;file value=&quot;Logs\.xml&quot; /&gt;
&lt;datePattern value=&quot;yyyy-MM-dd-'Xyz'&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;rollingStyle value=&quot;Composite&quot; /&gt;
&lt;maxSizeRollBackups value=&quot;40&quot; /&gt;
&lt;maximumFileSize value=&quot;1KB&quot; /&gt;
&lt;preserveLogFileNameExtension value=&quot;true&quot; /&gt;
&lt;staticLogFileName value=&quot;false&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionPattern value=&quot;[file] %property{appender-class-name} %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;immediateFlush value=&quot;true&quot; /&gt;
&lt;/appender&gt;
&lt;appender name=&quot;ConsoleAppender&quot; type=&quot;log4net.Appender.ConsoleAppender&quot;&gt;
&lt;target value=&quot;Console.Out&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionPattern value=&quot;[console] %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;/appender&gt;
&lt;root&gt;
&lt;level value=&quot;ALL&quot;/&gt;
&lt;appender-ref ref=&quot;LogFileAppenderXML&quot; /&gt;
&lt;appender-ref ref=&quot;ConsoleAppender&quot; /&gt;
&lt;/root&gt;
&lt;/log4net&gt;
=====================================================
== File: src/integration-testing/log4net-611-main/Program.cs
=====================================================
&#xfeff;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(&quot;log4net-611-lib.dll&quot;);
if (appFolder is null)
{
throw new InvalidOperationException(&quot;Can't find myself&quot;);
}
Assembly.LoadFile(Path.Combine(appFolder, &quot;log4net-611-lib.dll&quot;));
var configFile = Path.Combine(appFolder, &quot;log4net.config&quot;);
if (!File.Exists(configFile))
{
throw new InvalidOperationException($&quot;log4net.config not found at {configFile}&quot;);
}
if (Directory.Exists(&quot;Logs&quot;))
{
Console.WriteLine(&quot;Clearing out old logs...&quot;);
foreach (var file in Directory.EnumerateFiles(&quot;Logs&quot;))
{
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(&quot;logging...&quot;);
for (var i = 0; i &lt; 10; i++)
{
logger.Info($&quot;test log {i}&quot;);
}
foreach (var file in Directory.EnumerateFiles(&quot;Logs&quot;))
{
Console.WriteLine($&quot;log file: {file}&quot;);
=====================================================
== File: src/integration-testing/log4net-611-main/log4net-611-main.csproj
=====================================================
&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;OutputType&gt;Exe&lt;/OutputType&gt;
&lt;TargetFrameworks&gt;net462;net6.0&lt;/TargetFrameworks&gt;
&lt;RootNamespace&gt;log4net_611_main&lt;/RootNamespace&gt;
&lt;ImplicitUsings&gt;enable&lt;/ImplicitUsings&gt;
&lt;Nullable&gt;enable&lt;/Nullable&gt;
&lt;LangVersion&gt;latest&lt;/LangVersion&gt;
&lt;/PropertyGroup&gt;
&lt;ItemGroup&gt;
&lt;ProjectReference Include=&quot;..\log4net-611-lib\log4net-611-lib.csproj&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;ItemGroup&gt;
&lt;None Update=&quot;log4net.config&quot;&gt;
&lt;CopyToOutputDirectory&gt;Always&lt;/CopyToOutputDirectory&gt;
&lt;/None&gt;
&lt;/ItemGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/integration-testing/log4net-673/log4net.config
=====================================================
&lt;log4net&gt;
&lt;root&gt;
&lt;level value=&quot;ALL&quot; /&gt;
&lt;appender-ref ref=&quot;ColoredConsoleAppender&quot; /&gt;
&lt;appender-ref ref=&quot;RollingLogFileAppender&quot; /&gt;
&lt;appender-ref ref=&quot;ErrorLogFileAppender&quot; /&gt;
&lt;appender-ref ref=&quot;WarnLogFileAppender&quot; /&gt;
&lt;/root&gt;
&lt;appender name=&quot;ColoredConsoleAppender&quot; type=&quot;log4net.Appender.ManagedColoredConsoleAppender&quot;&gt;
&lt;mapping&gt;
&lt;level value=&quot;INFO&quot; /&gt;
&lt;forecolor value=&quot;White&quot; /&gt;
&lt;/mapping&gt;
&lt;mapping&gt;
&lt;level value=&quot;WARN&quot; /&gt;
&lt;forecolor value=&quot;Green&quot; /&gt;
&lt;/mapping&gt;
&lt;mapping&gt;
&lt;level value=&quot;ERROR&quot; /&gt;
&lt;forecolor value=&quot;Red&quot; /&gt;
&lt;/mapping&gt;
&lt;mapping&gt;
&lt;level value=&quot;DEBUG&quot; /&gt;
&lt;forecolor value=&quot;Yellow&quot; /&gt;
&lt;/mapping&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionpattern value=&quot;%date [%thread] %-5level - %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;/appender&gt;
&lt;appender name=&quot;RollingLogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;
&lt;file type=&quot;log4net.Util.PatternString&quot; value=&quot;log/ALL-Datamigration.log&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
&lt;rollingStyle value=&quot;Composite&quot; /&gt;
&lt;maxSizeRollBackups value=&quot;100&quot; /&gt;
&lt;maximumFileSize value=&quot;30MB&quot; /&gt;
&lt;staticLogFileName value=&quot;true&quot; /&gt;
&lt;preserveLogFileNameExtension value=&quot;true&quot;/&gt;
&lt;datePattern value=&quot;ddMMyyyy&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionPattern value=&quot;%date [%thread] %-5level %logger - %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;/appender&gt;
&lt;appender name=&quot;ErrorLogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;
&lt;file type=&quot;log4net.Util.PatternString&quot; value=&quot;log/ERROR-Datamigration.log&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
=====================================================
== File: src/integration-testing/log4net-673/Program.cs
=====================================================
&#xfeff;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(&quot;Can't find myself&quot;);
}
var configFile = Path.Combine(appFolder, &quot;log4net.config&quot;);
if (!File.Exists(configFile))
{
throw new InvalidOperationException($&quot;log4net.config not found at {configFile}&quot;);
}
if (Directory.Exists(&quot;log&quot;))
{
Console.WriteLine(&quot;Clearing out old logs...&quot;);
foreach (var file in Directory.EnumerateFiles(&quot;log&quot;))
{
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(&quot;logging...&quot;);
for (var i = 0; i &lt; 10; i++)
{
logger.Info($&quot;test log {i}&quot;);
logger.Error($&quot;error log {i}&quot;);
logger.Warn($&quot;warning log {i}&quot;);
}
foreach (var file in Directory.EnumerateFiles(&quot;log&quot;))
{
=====================================================
== File: src/integration-testing/log4net-673/log4net-673.csproj
=====================================================
&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;OutputType&gt;Exe&lt;/OutputType&gt;
&lt;TargetFramework&gt;net6.0&lt;/TargetFramework&gt;
&lt;RootNamespace&gt;log4net_673&lt;/RootNamespace&gt;
&lt;ImplicitUsings&gt;disable&lt;/ImplicitUsings&gt;
&lt;Nullable&gt;disable&lt;/Nullable&gt;
&lt;/PropertyGroup&gt;
&lt;ItemGroup&gt;
&lt;PackageReference Include=&quot;log4net&quot; Version=&quot;2.0.14&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;ItemGroup&gt;
&lt;None Update=&quot;log4net.config&quot;&gt;
&lt;CopyToOutputDirectory&gt;Always&lt;/CopyToOutputDirectory&gt;
&lt;/None&gt;
&lt;/ItemGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.config
=====================================================
&lt;log4net&gt;
&lt;appender name=&quot;LogFileAppenderXML&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;
&lt;file value=&quot;Logs\.xml&quot; /&gt;
&lt;datePattern value=&quot;yyyy-MM-dd-'Xyz'&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;rollingStyle value=&quot;Composite&quot; /&gt;
&lt;maxSizeRollBackups value=&quot;40&quot; /&gt;
&lt;maximumFileSize value=&quot;1KB&quot; /&gt;
&lt;preserveLogFileNameExtension value=&quot;true&quot; /&gt;
&lt;staticLogFileName value=&quot;false&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.XmlLayout&quot;/&gt;
&lt;/appender&gt;
&lt;root&gt;
&lt;level value=&quot;ALL&quot;/&gt;
&lt;appender-ref ref=&quot;LogFileAppenderXML&quot; /&gt;
&lt;/root&gt;
&lt;/log4net&gt;
=====================================================
== File: src/integration-testing/log4net-672/bin/Debug/net6.0/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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.config
=====================================================
&lt;log4net&gt;
&lt;appender name=&quot;LogFileAppenderXML&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;
&lt;file value=&quot;Logs\.xml&quot; /&gt;
&lt;datePattern value=&quot;yyyy-MM-dd-'Xyz'&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;rollingStyle value=&quot;Composite&quot; /&gt;
&lt;maxSizeRollBackups value=&quot;40&quot; /&gt;
&lt;maximumFileSize value=&quot;1KB&quot; /&gt;
&lt;preserveLogFileNameExtension value=&quot;true&quot; /&gt;
&lt;staticLogFileName value=&quot;false&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.XmlLayout&quot;/&gt;
&lt;fix value=&quot;Partial&quot; /&gt;
&lt;/appender&gt;
&lt;appender name=&quot;BufferingForwardingAppender&quot; type=&quot;log4net.APpender.BufferingForwardingAppender&quot;&gt;
&lt;bufferSize value=&quot;100&quot; /&gt;
&lt;fix value=&quot;Partial&quot; /&gt;
&lt;appender-ref ref=&quot;ConsoleAppender&quot;/&gt;
&lt;/appender&gt;
&lt;appender name=&quot;ConsoleAppender&quot; type=&quot;log4net.Appender.ConsoleAppender&quot;&gt;
&lt;target value=&quot;Console.Out&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionPattern value=&quot;[console] %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;/appender&gt;
&lt;root&gt;
&lt;level value=&quot;ALL&quot;/&gt;
&lt;appender-ref ref=&quot;LogFileAppenderXML&quot; /&gt;
&lt;appender-ref ref=&quot;BufferingForwardingAppender&quot; /&gt;
&lt;/root&gt;
&lt;/log4net&gt;
=====================================================
== File: src/integration-testing/log4net-672/Program.cs
=====================================================
&#xfeff;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(
$&quot;Can't determine app folder for {appPath}&quot;
);
}
var logFolder = Path.Combine(appFolder, &quot;Logs&quot;);
if (Directory.Exists(logFolder))
{
Directory.Delete(logFolder, recursive: true);
}
var configFile = Path.Combine(appFolder, &quot;log4net.config&quot;);
if (!File.Exists(configFile))
{
throw new InvalidOperationException($&quot;log4net.config not found at {configFile}&quot;);
}
var logCount = 10;
var identifiers = new List&lt;Guid&gt;();
for (var i = 0; i &lt; 10; i++)
{
var identifier = Guid.NewGuid();
identifiers.Add(identifier);
var logged = LogWith(identifier, logCount);
if (logged != logCount)
{
Die($&quot;Missing logs immediately for '{identifier}' - found {logged}/{logCount}&quot;, MISSING_LOGS);
}
}
foreach (var identifier in identifiers)
{
var logged = CountIdentifierInLogs(identifier);
if (logged != logCount)
=====================================================
== File: src/integration-testing/log4net-672/log4net-672.csproj
=====================================================
&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;OutputType&gt;Exe&lt;/OutputType&gt;
&lt;TargetFramework&gt;net6.0&lt;/TargetFramework&gt;
&lt;RootNamespace&gt;log4net_672&lt;/RootNamespace&gt;
&lt;ImplicitUsings&gt;disable&lt;/ImplicitUsings&gt;
&lt;Nullable&gt;enable&lt;/Nullable&gt;
&lt;LangVersion&gt;preview&lt;/LangVersion&gt;
&lt;DefineConstants&gt;NETSTANDARD&lt;/DefineConstants&gt;
&lt;/PropertyGroup&gt;
&lt;ItemGroup&gt;
&lt;ProjectReference Include=&quot;..\..\log4net\log4net.csproj&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;ItemGroup&gt;
&lt;None Update=&quot;log4net.config&quot;&gt;
&lt;CopyToOutputDirectory&gt;Always&lt;/CopyToOutputDirectory&gt;
&lt;/None&gt;
&lt;/ItemGroup&gt;
&lt;ItemGroup&gt;
&lt;PackageReference Include=&quot;PeanutButter.EasyArgs&quot; Version=&quot;2.0.63&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/integration-testing/log4net-681/log4net.config
=====================================================
&lt;log4net&gt;
&lt;appender name=&quot;LogFileAppenderXML&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;
&lt;file value=&quot;Logs\.xml&quot; /&gt;
&lt;datePattern value=&quot;yyyy-MM-dd-HH-mm-ss'Xyz'&quot; /&gt;
&lt;appendToFile value=&quot;true&quot; /&gt;
&lt;lockingModel type=&quot;log4net.Appender.FileAppender+MinimalLock&quot; /&gt;
&lt;rollingStyle value=&quot;Composite&quot; /&gt;
&lt;maxSizeRollBackups value=&quot;40&quot; /&gt;
&lt;maximumFileSize value=&quot;64&quot; /&gt;
&lt;preserveLogFileNameExtension value=&quot;true&quot; /&gt;
&lt;staticLogFileName value=&quot;false&quot; /&gt;
&lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;
&lt;conversionPattern value=&quot;[file] %message%newline&quot; /&gt;
&lt;/layout&gt;
&lt;/appender&gt;
&lt;root&gt;
&lt;level value=&quot;ALL&quot;/&gt;
&lt;appender-ref ref=&quot;LogFileAppenderXML&quot; /&gt;
&lt;/root&gt;
&lt;/log4net&gt;
=====================================================
== File: src/integration-testing/log4net-681/Program.cs
=====================================================
&#xfeff;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(&quot;Can't find myself&quot;);
}
var configFile = Path.Combine(appFolder, &quot;log4net.config&quot;);
if (!File.Exists(configFile))
{
throw new InvalidOperationException($&quot;log4net.config not found at {configFile}&quot;);
}
if (Directory.Exists(&quot;Logs&quot;))
{
Console.WriteLine(&quot;Clearing out old logs...&quot;);
foreach (var file in Directory.EnumerateFiles(&quot;Logs&quot;))
{
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(&quot;logging...&quot;);
var threads = new List&lt;Thread&gt;();
for (var i = 0; i &lt; 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/log4net-681.csproj
=====================================================
&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;OutputType&gt;Exe&lt;/OutputType&gt;
&lt;TargetFramework&gt;net6.0&lt;/TargetFramework&gt;
&lt;RootNamespace&gt;log4net_681&lt;/RootNamespace&gt;
&lt;ImplicitUsings&gt;enable&lt;/ImplicitUsings&gt;
&lt;Nullable&gt;enable&lt;/Nullable&gt;
&lt;/PropertyGroup&gt;
&lt;ItemGroup&gt;
&lt;ProjectReference Include=&quot;..\..\log4net\log4net.csproj&quot; /&gt;
&lt;/ItemGroup&gt;
&lt;ItemGroup&gt;
&lt;None Update=&quot;log4net.config&quot;&gt;
&lt;CopyToOutputDirectory&gt;Always&lt;/CopyToOutputDirectory&gt;
&lt;/None&gt;
&lt;/ItemGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/MonoForFramework.targets
=====================================================
&lt;Project&gt;
&lt;PropertyGroup Condition=&quot;$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'&quot;&gt;
&lt;!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you --&gt;
&lt;!-- have to teach MSBuild where the Mono copy of the reference asssemblies is --&gt;
&lt;!-- Look in the standard install locations --&gt;
&lt;BaseFrameworkPathOverrideForMono Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')&quot;&gt;/Library/Frameworks/Mono.framework/Versions/Current/lib/mono&lt;/BaseFrameworkPathOverrideForMono&gt;
&lt;BaseFrameworkPathOverrideForMono Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/lib/mono')&quot;&gt;/usr/lib/mono&lt;/BaseFrameworkPathOverrideForMono&gt;
&lt;BaseFrameworkPathOverrideForMono Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' == '' AND EXISTS('/usr/local/lib/mono')&quot;&gt;/usr/local/lib/mono&lt;/BaseFrameworkPathOverrideForMono&gt;
&lt;!-- If we found Mono reference assemblies, then use them --&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net20'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/2.0-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net35'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/3.5-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net40'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.0-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.5-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.5.1-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.5.2-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.6-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.6.1-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.6.2-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.7-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.7.1-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net472'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.7.2-api&lt;/FrameworkPathOverride&gt;
&lt;FrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net48'&quot;&gt;$(BaseFrameworkPathOverrideForMono)/4.8-api&lt;/FrameworkPathOverride&gt;
&lt;EnableFrameworkPathOverride Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != ''&quot;&gt;true&lt;/EnableFrameworkPathOverride&gt;
&lt;!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 --&gt;
&lt;AssemblySearchPaths Condition=&quot;'$(BaseFrameworkPathOverrideForMono)' != ''&quot;&gt;$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)&lt;/AssemblySearchPaths&gt;
&lt;/PropertyGroup&gt;
&lt;/Project&gt;
=====================================================
== File: src/log4net/Core/FixFlags.cs
=====================================================
&#xfeff;using System;
namespace log4net.Core
{
/// &lt;summary&gt;
/// Flags passed to the &lt;see cref=&quot;LoggingEvent.Fix&quot;/&gt; property
/// &lt;/summary&gt;
/// &lt;remarks&gt;
/// &lt;para&gt;
/// Flags passed to the &lt;see cref=&quot;LoggingEvent.Fix&quot;/&gt; property
/// &lt;/para&gt;
/// &lt;/remarks&gt;
/// &lt;author&gt;Nicko Cadell&lt;/author&gt;
[Flags]
public enum FixFlags
{
/// &lt;summary&gt;
/// Fix the MDC
/// &lt;/summary&gt;
[Obsolete(&quot;Replaced by composite Properties&quot;)]
Mdc = 0x01,
/// &lt;summary&gt;
/// Fix the NDC
/// &lt;/summary&gt;
Ndc = 0x02,
/// &lt;summary&gt;
/// Fix the rendered message
/// &lt;/summary&gt;
Message = 0x04,
/// &lt;summary&gt;
/// Fix the thread name
/// &lt;/summary&gt;
ThreadName = 0x08,
/// &lt;summary&gt;
/// Fix the callers location information
/// &lt;/summary&gt;
/// &lt;remarks&gt;
/// CAUTION: Very slow to generate
/// &lt;/remarks&gt;
LocationInfo = 0x10,
/// &lt;summary&gt;
/// Fix the callers windows user name
/// &lt;/summary&gt;
/// &lt;remarks&gt;
/// CAUTION: Slow to generate
=====================================================
== File: src/log4net/log4net.csproj
=====================================================
&#xfeff;&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;PackageId&gt;log4net&lt;/PackageId&gt;
&lt;Version&gt;2.0.15&lt;/Version&gt;
&lt;Title&gt;Apache log4net&lt;/Title&gt;
&lt;Product&gt;Apache log4net&lt;/Product&gt;
&lt;Description&gt;
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
&lt;/Description&gt;
&lt;Authors&gt;The Apache Software Foundation&lt;/Authors&gt;
&lt;Owners&gt;Apache Logging Project, Ji&#x159;&#xed; &#x10c;in&#x10d;ura&lt;/Owners&gt;
&lt;PackageLicenseExpression&gt;Apache-2.0&lt;/PackageLicenseExpression&gt;
&lt;PackageProjectUrl&gt;https://logging.apache.org/log4net/&lt;/PackageProjectUrl&gt;
&lt;PackageIcon&gt;package-icon.png&lt;/PackageIcon&gt;
&lt;Copyright&gt;Copyright 2004-2017 The Apache Software Foundation&lt;/Copyright&gt;
&lt;PackageTags&gt;logging log tracing logfiles&lt;/PackageTags&gt;
&lt;RepositoryType&gt;git&lt;/RepositoryType&gt;
&lt;RepositoryUrl&gt;https://github.com/apache/logging-log4net&lt;/RepositoryUrl&gt;
&lt;GeneratePackageOnBuild&gt;false&lt;/GeneratePackageOnBuild&gt;
&lt;Platforms&gt;AnyCPU&lt;/Platforms&gt;
&lt;TargetFrameworks&gt;net20;net35;net40;net40-client;net45;netstandard1.3;netstandard2.0&lt;/TargetFrameworks&gt;
&lt;Configurations&gt;Debug;Release&lt;/Configurations&gt;
&lt;LangVersion&gt;latest&lt;/LangVersion&gt;
&lt;RootNamespace&gt;log4net&lt;/RootNamespace&gt;
&lt;AssemblyName&gt;log4net&lt;/AssemblyName&gt;
&lt;ProjectType&gt;Local&lt;/ProjectType&gt;
&lt;DefaultClientScript&gt;JScript&lt;/DefaultClientScript&gt;
&lt;DefaultHTMLPageLayout&gt;Grid&lt;/DefaultHTMLPageLayout&gt;
&lt;DefaultTargetSchema&gt;IE50&lt;/DefaultTargetSchema&gt;
&lt;DelaySign&gt;false&lt;/DelaySign&gt;
&lt;OutputType&gt;Library&lt;/OutputType&gt;
&lt;OldToolsVersion&gt;3.5&lt;/OldToolsVersion&gt;
&lt;PublishUrl&gt;publish\&lt;/PublishUrl&gt;
&lt;Install&gt;true&lt;/Install&gt;
&lt;InstallFrom&gt;Disk&lt;/InstallFrom&gt;
&lt;UpdateEnabled&gt;false&lt;/UpdateEnabled&gt;
&lt;UpdateMode&gt;Foreground&lt;/UpdateMode&gt;
&lt;UpdateInterval&gt;7&lt;/UpdateInterval&gt;
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/test_41d3d834_4320f4da.log
=====================================================
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp3.1/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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_default.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/netcoreapp1.0/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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.3
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== 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_default.log
=====================================================
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/netcoreapp2.1/test_41d3d834_4320f4da.log.2
=====================================================
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
=====================================================
== File: src/log4net.Tests/bin/CrossPlatform/net462/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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/netcoreapp3.1/log4net.xml
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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
=====================================================
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;doc&gt;
&lt;assembly&gt;
&lt;name&gt;log4net&lt;/name&gt;
&lt;/assembly&gt;
&lt;members&gt;
&lt;member name=&quot;T:log4net.Appender.AdoNetAppender&quot;&gt;
&lt;summary&gt;
Appender that logs to a database.
&lt;/summary&gt;
&lt;remarks&gt;
&lt;para&gt;
&lt;see cref=&quot;T:log4net.Appender.AdoNetAppender&quot;/&gt; appends logging events to a table within a
database. The appender can be configured to specify the connection
string by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionString&quot;/&gt; property.
The connection type (provider) can be specified by setting the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.ConnectionType&quot;/&gt;
property. For more information on database connection strings for
your specific database see &lt;a href=&quot;http://www.connectionstrings.com/&quot;&gt;http://www.connectionstrings.com/&lt;/a&gt;.
&lt;/para&gt;
&lt;para&gt;
Records are written into the database either using a prepared
statement or a stored procedure. The &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandType&quot;/&gt; property
is set to &lt;see cref=&quot;F:System.Data.CommandType.Text&quot;/&gt; (&lt;c&gt;System.Data.CommandType.Text&lt;/c&gt;) to specify a prepared statement
or to &lt;see cref=&quot;F:System.Data.CommandType.StoredProcedure&quot;/&gt; (&lt;c&gt;System.Data.CommandType.StoredProcedure&lt;/c&gt;) to specify a stored
procedure.
&lt;/para&gt;
&lt;para&gt;
The prepared statement text or the name of the stored procedure
must be set in the &lt;see cref=&quot;P:log4net.Appender.AdoNetAppender.CommandText&quot;/&gt; property.
&lt;/para&gt;
&lt;para&gt;
The prepared statement or stored procedure can take a number
of parameters. Parameters are added using the &lt;see cref=&quot;M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)&quot;/&gt;
method. This adds a single &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; to the
ordered list of parameters. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt;
type may be subclassed if required to provide database specific
functionality. The &lt;see cref=&quot;T:log4net.Appender.AdoNetAppenderParameter&quot;/&gt; specifies
the parameter name, database type, size, and how the value should
be generated using a &lt;see cref=&quot;T:log4net.Layout.ILayout&quot;/&gt;.
&lt;/para&gt;
&lt;/remarks&gt;
&lt;example&gt;
An example of a SQL Server table that could be logged to:
&lt;code lang=&quot;SQL&quot;&gt;
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
=====================================================
&#xfeff;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
=====================================================
&#xfeff;&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;
&lt;PropertyGroup&gt;
&lt;TargetFrameworks&gt;net462;netcoreapp3.1&lt;/TargetFrameworks&gt;
&lt;NoWarn&gt;NETSDK1138;CS1701&lt;/NoWarn&gt;
&lt;ProjectType&gt;Local&lt;/ProjectType&gt;
&lt;DefaultClientScript&gt;JScript&lt;/DefaultClientScript&gt;
&lt;DefaultHTMLPageLayout&gt;Grid&lt;/DefaultHTMLPageLayout&gt;
&lt;DefaultTargetSchema&gt;IE50&lt;/DefaultTargetSchema&gt;
&lt;DelaySign&gt;false&lt;/DelaySign&gt;
&lt;OutputType&gt;Library&lt;/OutputType&gt;
&lt;OldToolsVersion&gt;3.5&lt;/OldToolsVersion&gt;
&lt;PublishUrl&gt;publish\&lt;/PublishUrl&gt;
&lt;Install&gt;true&lt;/Install&gt;
&lt;InstallFrom&gt;Disk&lt;/InstallFrom&gt;
&lt;UpdateEnabled&gt;false&lt;/UpdateEnabled&gt;
&lt;UpdateMode&gt;Foreground&lt;/UpdateMode&gt;
&lt;UpdateInterval&gt;7&lt;/UpdateInterval&gt;
&lt;UpdateIntervalUnits&gt;Days&lt;/UpdateIntervalUnits&gt;
&lt;UpdatePeriodically&gt;false&lt;/UpdatePeriodically&gt;
&lt;UpdateRequired&gt;false&lt;/UpdateRequired&gt;
&lt;MapFileExtensions&gt;true&lt;/MapFileExtensions&gt;
&lt;ApplicationRevision&gt;0&lt;/ApplicationRevision&gt;
&lt;ApplicationVersion&gt;1.0.0.%2a&lt;/ApplicationVersion&gt;
&lt;IsWebBootstrapper&gt;false&lt;/IsWebBootstrapper&gt;
&lt;UseApplicationTrust&gt;false&lt;/UseApplicationTrust&gt;
&lt;BootstrapperEnabled&gt;true&lt;/BootstrapperEnabled&gt;
&lt;GenerateAssemblyInfo&gt;false&lt;/GenerateAssemblyInfo&gt;
&lt;AssemblyOriginatorKeyFile&gt;..\..\log4net.snk&lt;/AssemblyOriginatorKeyFile&gt;
&lt;OutputPath&gt;bin\$(Configuration)&lt;/OutputPath&gt;
&lt;Configurations&gt;Debug;Release&lt;/Configurations&gt;
&lt;Platforms&gt;AnyCPU&lt;/Platforms&gt;
&lt;/PropertyGroup&gt;
&lt;PropertyGroup&gt;
&lt;BaseAddress&gt;285212672&lt;/BaseAddress&gt;
&lt;FileAlignment&gt;4096&lt;/FileAlignment&gt;
&lt;RegisterForComInterop&gt;false&lt;/RegisterForComInterop&gt;
&lt;RemoveIntegerChecks&gt;false&lt;/RemoveIntegerChecks&gt;
&lt;/PropertyGroup&gt;
&lt;PropertyGroup Condition=&quot;'$(TargetFramework)'=='net462'&quot;&gt;
&lt;DefineConstants&gt;$(DefineConstants);NET_2_0;NET_4_0;NET_4_5&lt;/DefineConstants&gt;
&lt;/PropertyGroup&gt;
&lt;PropertyGroup Condition=&quot;'$(TargetFramework)'=='netcoreapp1.0'&quot;&gt;
&lt;DefineConstants&gt;$(DefineConstants);NETSTANDARD;NETSTANDARD1_3&lt;/DefineConstants&gt;
&lt;/PropertyGroup&gt;
&lt;PropertyGroup Condition=&quot;'$(TargetFramework)'=='netcoreapp2.1'&quot;&gt;
&lt;DefineConstants&gt;$(DefineConstants);NETSTANDARD;NETSTANDARD2_0&lt;/DefineConstants&gt;
&lt;/PropertyGroup&gt;
&lt;PropertyGroup Condition=&quot;'$(TargetFramework)'=='netcoreapp3.1'&quot;&gt;
&lt;DefineConstants&gt;$(DefineConstants);NETSTANDARD;NETSTANDARD2_0&lt;/DefineConstants&gt;
&lt;/PropertyGroup&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/projectSettingsUpdater.xml
=====================================================
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
&lt;component name=&quot;RiderProjectSettingsUpdater&quot;&gt;
&lt;option name=&quot;vcsConfiguration&quot; value=&quot;2&quot; /&gt;
&lt;/component&gt;
&lt;/project&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/codeStyles/codeStyleConfig.xml
=====================================================
&lt;component name=&quot;ProjectCodeStyleConfiguration&quot;&gt;
&lt;state&gt;
&lt;option name=&quot;PREFERRED_PROJECT_CODE_STYLE&quot; value=&quot;Default&quot; /&gt;
&lt;/state&gt;
&lt;/component&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/vcs.xml
=====================================================
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
&lt;component name=&quot;VcsDirectoryMappings&quot;&gt;
&lt;mapping directory=&quot;$PROJECT_DIR$/..&quot; vcs=&quot;Git&quot; /&gt;
&lt;/component&gt;
&lt;/project&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/workspace.xml
=====================================================
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
&lt;component name=&quot;AutoGeneratedRunConfigurationManager&quot;&gt;
&lt;projectFile&gt;log4net.Tests/log4net.Tests.csproj&lt;/projectFile&gt;
&lt;projectFile&gt;integration-testing/log4net-672/log4net-672.csproj&lt;/projectFile&gt;
&lt;/component&gt;
&lt;component name=&quot;BranchesTreeState&quot;&gt;
&lt;expand&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;LOCAL_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:abandoned&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:feature&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:pr&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:pr&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:old&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;/path&gt;
&lt;path&gt;
&lt;item name=&quot;ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;REMOTE_ROOT&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
&lt;item name=&quot;GROUP_NODE:origin&quot; type=&quot;e8cecc67:BranchNodeDescriptor&quot; /&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/indexLayout.xml
=====================================================
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
&lt;component name=&quot;UserContentModel&quot;&gt;
&lt;attachedFolders /&gt;
&lt;explicitIncludes /&gt;
&lt;explicitExcludes /&gt;
&lt;/component&gt;
&lt;/project&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/misc.xml
=====================================================
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;project version=&quot;4&quot;&gt;
&lt;component name=&quot;JavaScriptSettings&quot;&gt;
&lt;option name=&quot;languageLevel&quot; value=&quot;ES6&quot; /&gt;
&lt;/component&gt;
&lt;/project&gt;
=====================================================
== File: src/.idea/.idea.log4net/.idea/.name
=====================================================
log4net
=====================================================
== 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)
</pre></div></div>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &copy; 2004-2022 <a class="external" href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache log4net, Apache, log4net, the Apache feather logo, the Apache Logging Services project logo and the Built by Maven logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</div>
</body>
</html>