## Rat (Release Audit Tool) results The following document contains the results of Rat (Release Audit Tool).
    *****************************************************
    Summary
    -------
    Generated at: 2025-02-05T17:06:09+01:00

    Notes: 2
    Binaries: 3
    Archives: 0
    Standards: 338

    Apache Licensed: 336
    Generated Documents: 0

    JavaDocs are generated, thus a license header is optional.
    Generated files do not require license headers.

    2 Unknown Licenses

    *****************************************************

    Files with unapproved licenses:

      src/log4net.globalconfig
      src/log4net.Tests/Appender/Internal/SimpleTelnetClient.cs

    *****************************************************

    *****************************************************
      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    Dockerfile
      AL    examples/Appenders/SampleAppendersApp/Appender/AsyncAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/FireEventAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/MessageBoxAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/MessageObjectExpanderAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/PatternFileAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/PatternLayoutAdoNetAppender.cs
      AL    examples/Appenders/SampleAppendersApp/Appender/PatternLayoutAdoNetAppenderParameter.cs
      AL    examples/Appenders/SampleAppendersApp/LoggingExample.cs
      AL    examples/Appenders/WmiAppender/IWmiBoundEvent.cs
      AL    examples/Appenders/WmiAppender/WmiAppender.cs
      AL    examples/Appenders/WmiAppender/WmiInstaller.cs
      AL    examples/Appenders/WmiAppender/WmiLayout.cs
      AL    examples/Appenders/WmiAppender/WmiLoggingEvent.cs
      AL    examples/Extensibility/EventIDLogApp/EventIDLogApp.cs
      AL    examples/Extensibility/TraceLogApp/TraceLogApp.cs
      AL    examples/Extensions/log4net.Ext.EventID/EventIDLogImpl.cs
      AL    examples/Extensions/log4net.Ext.EventID/EventIDLogManager.cs
      AL    examples/Extensions/log4net.Ext.EventID/IEventIDLog.cs
      AL    examples/Extensions/log4net.Ext.MarshalByRef/AssemblyInfo.cs
      AL    examples/Extensions/log4net.Ext.MarshalByRef/MarshalByRefLogImpl.cs
      AL    examples/Extensions/log4net.Ext.MarshalByRef/MarshalByRefLogManager.cs
      AL    examples/Extensions/log4net.Ext.Trace/ITraceLog.cs
      AL    examples/Extensions/log4net.Ext.Trace/TraceLogImpl.cs
      AL    examples/Extensions/log4net.Ext.Trace/TraceLogManager.cs
      AL    examples/Layouts/SampleLayoutsApp/Layout/ForwardingLayout.cs
      AL    examples/Layouts/SampleLayoutsApp/Layout/LevelConversionPattern.cs
      AL    examples/Layouts/SampleLayoutsApp/Layout/LevelPatternLayout.cs
      AL    examples/Layouts/SampleLayoutsApp/Layout/LineWrappingLayout.cs
      AL    examples/Layouts/SampleLayoutsApp/LoggingExample.cs
      AL    examples/Performance/NotLogging/NotLogging.cs
      AL    examples/Tutorials/ConsoleApp/LoggingExample.cs
      N     LICENSE
      AL    local-tasks/build-site.js
      B     local-tasks/default-tools-installer.ts
      AL    local-tasks/hash-build-artifacts.js
      AL    local-tasks/prefix-build-artifacts.js
      AL    local-tasks/prepare-build-artifacts.js
      B     local-tasks/update-version-info.ts
      AL    local-tasks/zip.js
      N     NOTICE
      B     package-icon.png
      AL    src/log4net/Appender/AdoNetAppender.cs
      AL    src/log4net/Appender/AnsiColorTerminalAppender.cs
      AL    src/log4net/Appender/AppenderCollection.cs
      AL    src/log4net/Appender/AppenderSkeleton.cs
      AL    src/log4net/Appender/AspNetTraceAppender.cs
      AL    src/log4net/Appender/BufferingAppenderSkeleton.cs
      AL    src/log4net/Appender/BufferingForwardingAppender.cs
      AL    src/log4net/Appender/ColoredConsoleAppender.cs
      AL    src/log4net/Appender/ConsoleAppender.cs
      AL    src/log4net/Appender/DebugAppender.cs
      AL    src/log4net/Appender/EventLogAppender.cs
      AL    src/log4net/Appender/FileAppender.cs
      AL    src/log4net/Appender/ForwardingAppender.cs
      AL    src/log4net/Appender/IAppender.cs
      AL    src/log4net/Appender/IBulkAppender.cs
      AL    src/log4net/Appender/IFlushable.cs
      AL    src/log4net/Appender/LocalSyslogAppender.cs
      AL    src/log4net/Appender/ManagedColoredConsoleAppender.cs
      AL    src/log4net/Appender/MemoryAppender.cs
      AL    src/log4net/Appender/OutputDebugStringAppender.cs
      AL    src/log4net/Appender/RemoteSyslogAppender.cs
      AL    src/log4net/Appender/RollingFileAppender.cs
      AL    src/log4net/Appender/RollingFileAppender.DateTime.cs
      AL    src/log4net/Appender/SmtpAppender.cs
      AL    src/log4net/Appender/SmtpPickupDirAppender.cs
      AL    src/log4net/Appender/TelnetAppender.cs
      AL    src/log4net/Appender/TextWriterAppender.cs
      AL    src/log4net/Appender/TraceAppender.cs
      AL    src/log4net/Appender/UdpAppender.cs
      AL    src/log4net/AssemblyInfo.cs
      AL    src/log4net/Config/AliasRepositoryAttribute.cs
      AL    src/log4net/Config/BasicConfigurator.cs
      AL    src/log4net/Config/ConfiguratorAttribute.cs
      AL    src/log4net/Config/Log4NetConfigurationSectionHandler.cs
      AL    src/log4net/Config/PluginAttribute.cs
      AL    src/log4net/Config/RepositoryAttribute.cs
      AL    src/log4net/Config/SecurityContextProviderAttribute.cs
      AL    src/log4net/Config/XmlConfigurator.cs
      AL    src/log4net/Config/XmlConfiguratorAttribute.cs
      AL    src/log4net/Core/DefaultRepositorySelector.cs
      AL    src/log4net/Core/ErrorCode.cs
      AL    src/log4net/Core/ExceptionEvaluator.cs
      AL    src/log4net/Core/FixFlags.cs
      AL    src/log4net/Core/IAppenderAttachable.cs
      AL    src/log4net/Core/IErrorHandler.cs
      AL    src/log4net/Core/IFixingRequired.cs
      AL    src/log4net/Core/ILogger.cs
      AL    src/log4net/Core/ILoggerWrapper.cs
      AL    src/log4net/Core/IOptionHandler.cs
      AL    src/log4net/Core/IRepositorySelector.cs
      AL    src/log4net/Core/ITriggeringEventEvaluator.cs
      AL    src/log4net/Core/Level.cs
      AL    src/log4net/Core/LevelCollection.cs
      AL    src/log4net/Core/LevelEvaluator.cs
      AL    src/log4net/Core/LevelMap.cs
      AL    src/log4net/Core/LocationInfo.cs
      AL    src/log4net/Core/LogException.cs
      AL    src/log4net/Core/LoggerManager.cs
      AL    src/log4net/Core/LoggerWrapperImpl.cs
      AL    src/log4net/Core/LoggingEvent.cs
      AL    src/log4net/Core/LogImpl.cs
      AL    src/log4net/Core/MethodItem.cs
      AL    src/log4net/Core/SecurityContext.cs
      AL    src/log4net/Core/SecurityContextProvider.cs
      AL    src/log4net/Core/Serializable.cs
      AL    src/log4net/Core/StackFrameItem.cs
      AL    src/log4net/Core/TimeEvaluator.cs
      AL    src/log4net/Core/WrapperMap.cs
      AL    src/log4net/DateFormatter/AbsoluteTimeDateFormatter.cs
      AL    src/log4net/DateFormatter/DateTimeDateFormatter.cs
      AL    src/log4net/DateFormatter/IDateFormatter.cs
      AL    src/log4net/DateFormatter/Iso8601DateFormatter.cs
      AL    src/log4net/DateFormatter/SimpleDateFormatter.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/AllowNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/CallerArgumentExpressionAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/CompilerFeatureRequiredAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/DisallowNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/DoesNotReturnAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/DoesNotReturnIfAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/IsExternalInit.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/MaybeNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/MaybeNullWhenAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/MemberNotNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/MemberNotNullWhenAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/NotNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/NotNullIfNotNullAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/NotNullWhenAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/NullableAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/NullableContextAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/RequiredMemberAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/SetsRequiredMembersAttribute.cs
      AL    src/log4net/Diagnostics/CodeAnalysis/ValidatedNotNullAttribute.cs
      AL    src/log4net/Filter/DenyAllFilter.cs
      AL    src/log4net/Filter/FilterDecision.cs
      AL    src/log4net/Filter/FilterSkeleton.cs
      AL    src/log4net/Filter/IFilter.cs
      AL    src/log4net/Filter/LevelMatchFilter.cs
      AL    src/log4net/Filter/LevelRangeFilter.cs
      AL    src/log4net/Filter/LoggerMatchFilter.cs
      AL    src/log4net/Filter/MdcFilter.cs
      AL    src/log4net/Filter/NdcFilter.cs
      AL    src/log4net/Filter/PropertyFilter.cs
      AL    src/log4net/Filter/StringMatchFilter.cs
      AL    src/log4net/GlobalContext.cs
      AL    src/log4net/ILog.cs
      AL    src/log4net/Layout/DynamicPatternLayout.cs
      AL    src/log4net/Layout/ExceptionLayout.cs
      AL    src/log4net/Layout/ILayout.cs
      AL    src/log4net/Layout/Internal/XmlWriterExtensions.cs
      AL    src/log4net/Layout/IRawLayout.cs
      AL    src/log4net/Layout/Layout2RawLayoutAdapter.cs
      AL    src/log4net/Layout/LayoutSkeleton.cs
      AL    src/log4net/Layout/Pattern/AppDomainPatternConverter.cs
      AL    src/log4net/Layout/Pattern/AspNetCachePatternConverter.cs
      AL    src/log4net/Layout/Pattern/AspNetContextPatternConverter.cs
      AL    src/log4net/Layout/Pattern/AspNetPatternConverter.cs
      AL    src/log4net/Layout/Pattern/AspNetRequestPatternConverter.cs
      AL    src/log4net/Layout/Pattern/AspNetSessionPatternConverter.cs
      AL    src/log4net/Layout/Pattern/DatePatternConverter.cs
      AL    src/log4net/Layout/Pattern/ExceptionPatternConverter.cs
      AL    src/log4net/Layout/Pattern/FileLocationPatternConverter.cs
      AL    src/log4net/Layout/Pattern/FullLocationPatternConverter.cs
      AL    src/log4net/Layout/Pattern/IdentityPatternConverter.cs
      AL    src/log4net/Layout/Pattern/LevelPatternConverter.cs
      AL    src/log4net/Layout/Pattern/LineLocationPatternConverter.cs
      AL    src/log4net/Layout/Pattern/LoggerPatternConverter.cs
      AL    src/log4net/Layout/Pattern/MessagePatternConverter.cs
      AL    src/log4net/Layout/Pattern/MethodLocationPatternConverter.cs
      AL    src/log4net/Layout/Pattern/NamedPatternConverter.cs
      AL    src/log4net/Layout/Pattern/NdcPatternConverter.cs
      AL    src/log4net/Layout/Pattern/PatternLayoutConverter.cs
      AL    src/log4net/Layout/Pattern/PropertyPatternConverter.cs
      AL    src/log4net/Layout/Pattern/RelativeTimePatternConverter.cs
      AL    src/log4net/Layout/Pattern/StackTraceDetailPatternConverter.cs
      AL    src/log4net/Layout/Pattern/StackTracePatternConverter.cs
      AL    src/log4net/Layout/Pattern/ThreadPatternConverter.cs
      AL    src/log4net/Layout/Pattern/TypeNamePatternConverter.cs
      AL    src/log4net/Layout/Pattern/UserNamePatternConverter.cs
      AL    src/log4net/Layout/Pattern/UtcDatePatternConverter.cs
      AL    src/log4net/Layout/PatternLayout.cs
      AL    src/log4net/Layout/RawLayoutConverter.cs
      AL    src/log4net/Layout/RawPropertyLayout.cs
      AL    src/log4net/Layout/RawTimeStampLayout.cs
      AL    src/log4net/Layout/RawUtcTimeStampLayout.cs
      AL    src/log4net/Layout/SimpleLayout.cs
      AL    src/log4net/Layout/XmlLayout.cs
      AL    src/log4net/Layout/XmlLayoutBase.cs
      AL    src/log4net/Layout/XmlLayoutSchemaLog4j.cs
      AL    src/log4net/LogicalThreadContext.cs
      AL    src/log4net/LogManager.cs
      AL    src/log4net/MDC.cs
      AL    src/log4net/NDC.cs
      AL    src/log4net/ObjectRenderer/DefaultRenderer.cs
      AL    src/log4net/ObjectRenderer/IObjectRenderer.cs
      AL    src/log4net/ObjectRenderer/RendererMap.cs
      AL    src/log4net/Plugin/IPlugin.cs
      AL    src/log4net/Plugin/IPluginFactory.cs
      AL    src/log4net/Plugin/PluginCollection.cs
      AL    src/log4net/Plugin/PluginMap.cs
      AL    src/log4net/Plugin/PluginSkeleton.cs
      AL    src/log4net/Repository/ConfigurationChangedEventArgs.cs
      AL    src/log4net/Repository/Hierarchy/DefaultLoggerFactory.cs
      AL    src/log4net/Repository/Hierarchy/Hierarchy.cs
      AL    src/log4net/Repository/Hierarchy/ILoggerFactory.cs
      AL    src/log4net/Repository/Hierarchy/Logger.cs
      AL    src/log4net/Repository/Hierarchy/LoggerKey.cs
      AL    src/log4net/Repository/Hierarchy/ProvisionNode.cs
      AL    src/log4net/Repository/Hierarchy/RootLogger.cs
      AL    src/log4net/Repository/Hierarchy/XmlHierarchyConfigurator.cs
      AL    src/log4net/Repository/IBasicRepositoryConfigurator.cs
      AL    src/log4net/Repository/ILoggerRepository.cs
      AL    src/log4net/Repository/IXmlRepositoryConfigurator.cs
      AL    src/log4net/Repository/LoggerRepositorySkeleton.cs
      AL    src/log4net/ThreadContext.cs
      AL    src/log4net/Util/AppenderAttachedImpl.cs
      AL    src/log4net/Util/CompositeProperties.cs
      AL    src/log4net/Util/ContextPropertiesBase.cs
      AL    src/log4net/Util/ConverterInfo.cs
      AL    src/log4net/Util/CountingQuietTextWriter.cs
      AL    src/log4net/Util/CyclicBuffer.cs
      AL    src/log4net/Util/EmptyCollection.cs
      AL    src/log4net/Util/EmptyDictionary.cs
      AL    src/log4net/Util/EncodingWithoutPreamble.cs
      AL    src/log4net/Util/FormattingInfo.cs
      AL    src/log4net/Util/GlobalContextProperties.cs
      AL    src/log4net/Util/ILogExtensions.cs
      AL    src/log4net/Util/LevelMapping.cs
      AL    src/log4net/Util/LevelMappingEntry.cs
      AL    src/log4net/Util/Log4NetAssert.cs
      AL    src/log4net/Util/LogicalThreadContextProperties.cs
      AL    src/log4net/Util/LogicalThreadContextStack.cs
      AL    src/log4net/Util/LogicalThreadContextStacks.cs
      AL    src/log4net/Util/LogLog.cs
      AL    src/log4net/Util/NativeError.cs
      AL    src/log4net/Util/NativeMethods.cs
      AL    src/log4net/Util/NullDictionaryEnumerator.cs
      AL    src/log4net/Util/NullEnumerator.cs
      AL    src/log4net/Util/NullSecurityContext.cs
      AL    src/log4net/Util/OnlyOnceErrorHandler.cs
      AL    src/log4net/Util/OptionConverter.cs
      AL    src/log4net/Util/PatternConverter.cs
      AL    src/log4net/Util/PatternParser.cs
      AL    src/log4net/Util/PatternString.cs
      AL    src/log4net/Util/PatternStringConverters/AppDomainPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/AppSettingPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/DatePatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/EnvironmentFolderPathPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/EnvironmentPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/IdentityPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/LiteralPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/NewLinePatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/ProcessIdPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/PropertyPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/RandomStringPatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/UserNamePatternConverter.cs
      AL    src/log4net/Util/PatternStringConverters/UtcDatePatternConverter.cs
      AL    src/log4net/Util/PropertiesDictionary.cs
      AL    src/log4net/Util/PropertyEntry.cs
      AL    src/log4net/Util/ProtectCloseTextWriter.cs
      AL    src/log4net/Util/QuietTextWriter.cs
      AL    src/log4net/Util/ReaderWriterLock.cs
      AL    src/log4net/Util/ReadOnlyPropertiesDictionary.cs
      AL    src/log4net/Util/ReusableStringWriter.cs
      AL    src/log4net/Util/SystemInfo.cs
      AL    src/log4net/Util/SystemStringFormat.cs
      AL    src/log4net/Util/TextWriterAdapter.cs
      AL    src/log4net/Util/ThreadContextProperties.cs
      AL    src/log4net/Util/ThreadContextStack.cs
      AL    src/log4net/Util/ThreadContextStacks.cs
      AL    src/log4net/Util/Transform.cs
      AL    src/log4net/Util/TypeConverters/BooleanConverter.cs
      AL    src/log4net/Util/TypeConverters/ConversionNotSupportedException.cs
      AL    src/log4net/Util/TypeConverters/ConverterRegistry.cs
      AL    src/log4net/Util/TypeConverters/EncodingConverter.cs
      AL    src/log4net/Util/TypeConverters/IConvertFrom.cs
      AL    src/log4net/Util/TypeConverters/IConvertTo.cs
      AL    src/log4net/Util/TypeConverters/IPAddressConverter.cs
      AL    src/log4net/Util/TypeConverters/PatternLayoutConverter.cs
      AL    src/log4net/Util/TypeConverters/PatternStringConverter.cs
      AL    src/log4net/Util/TypeConverters/TypeConverter.cs
      AL    src/log4net/Util/TypeConverters/TypeConverterAttribute.cs
      AL    src/log4net/Util/WindowsSecurityContext.cs
     !????? src/log4net.globalconfig
      AL    src/log4net.Tests/Appender/AdoNet/Log4NetCommand.cs
      AL    src/log4net.Tests/Appender/AdoNet/Log4NetConnection.cs
      AL    src/log4net.Tests/Appender/AdoNet/Log4NetParameter.cs
      AL    src/log4net.Tests/Appender/AdoNet/Log4NetParameterCollection.cs
      AL    src/log4net.Tests/Appender/AdoNet/Log4NetTransaction.cs
      AL    src/log4net.Tests/Appender/AdoNetAppenderTest.cs
      AL    src/log4net.Tests/Appender/AppenderCollectionTest.cs
      AL    src/log4net.Tests/Appender/BufferingAppenderTest.cs
      AL    src/log4net.Tests/Appender/CountingAppender.cs
      AL    src/log4net.Tests/Appender/DebugAppenderTest.cs
      AL    src/log4net.Tests/Appender/EventLogAppenderTest.cs
      AL    src/log4net.Tests/Appender/EventRaisingAppender.cs
      AL    src/log4net.Tests/Appender/FileAppenderTest.cs
     !????? src/log4net.Tests/Appender/Internal/SimpleTelnetClient.cs
      AL    src/log4net.Tests/Appender/MemoryAppenderTest.cs
      AL    src/log4net.Tests/Appender/RecursiveLoggingTest.cs
      AL    src/log4net.Tests/Appender/RollingFileAppenderTest.cs
      AL    src/log4net.Tests/Appender/SmtpPickupDirAppenderTest.cs
      AL    src/log4net.Tests/Appender/StringAppender.cs
      AL    src/log4net.Tests/Appender/TelnetAppenderTest.cs
      AL    src/log4net.Tests/Appender/TraceAppenderTest.cs
      AL    src/log4net.Tests/AssemblyInfo.cs
      AL    src/log4net.Tests/Context/LogicalThreadContextTest.cs
      AL    src/log4net.Tests/Context/ThreadContextTest.cs
      AL    src/log4net.Tests/Core/DefaultRepositorySelectorTest.cs
      AL    src/log4net.Tests/Core/EvaluatorTest.cs
      AL    src/log4net.Tests/Core/FixingTest.cs
      AL    src/log4net.Tests/Core/LevelMappingTest.cs
      AL    src/log4net.Tests/Core/LevelMapTest.cs
      AL    src/log4net.Tests/Core/LevelTest.cs
      AL    src/log4net.Tests/Core/LoggingEventTest.cs
      AL    src/log4net.Tests/Core/ShutdownTest.cs
      AL    src/log4net.Tests/Core/StringFormatTest.cs
      AL    src/log4net.Tests/DateFormatter/AbsoluteTimeDateFormatterTest.cs
      AL    src/log4net.Tests/DateFormatter/DateTimeDateFormatterTest.cs
      AL    src/log4net.Tests/Filter/FilterTest.cs
      AL    src/log4net.Tests/Hierarchy/HierarchyTest.cs
      AL    src/log4net.Tests/Hierarchy/LoggerTest.cs
      AL    src/log4net.Tests/Hierarchy/XmlHierarchyConfiguratorTest.cs
      AL    src/log4net.Tests/Layout/DynamicPatternLayoutTest.cs
      AL    src/log4net.Tests/Layout/PatternLayoutTest.cs
      AL    src/log4net.Tests/Layout/XmlLayoutSchemaLog4jTest.cs
      AL    src/log4net.Tests/Layout/XmlLayoutTest.cs
      AL    src/log4net.Tests/LoggerRepository/ConfigurationMessages.cs
      AL    src/log4net.Tests/NUnitTestRunnerInitializer.cs
      AL    src/log4net.Tests/ObjectRenderer/DefaultRendererTest.cs
      AL    src/log4net.Tests/Signing.cs
      AL    src/log4net.Tests/Util/CyclicBufferTest.cs
      AL    src/log4net.Tests/Util/EncodingWithoutPreambleTest.cs
      AL    src/log4net.Tests/Util/EnvironmentPatternConverterTest.cs
      AL    src/log4net.Tests/Util/LogLogTest.cs
      AL    src/log4net.Tests/Util/PatternConverterTest.cs
      AL    src/log4net.Tests/Util/PatternStringTest.cs
      AL    src/log4net.Tests/Util/PropertiesDictionaryTest.cs
      AL    src/log4net.Tests/Util/RandomStringPatternConverterTest.cs
      AL    src/log4net.Tests/Util/SystemInfoTest.cs
      AL    src/log4net.Tests/Util/TransformTest.cs
      AL    src/log4net.Tests/Utils.cs

    *****************************************************

     Printing headers for text files without a valid license header...

    =====================================================
    == File: src/log4net.globalconfig
    =====================================================
    # https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files

    # global can be overridden by local
    is_global = true
    # higher levels override lower levels. Standard is 0. MS-Analyzer are -100
    global_level = -30

    # ---

    # https://github.com/dotnet/roslyn-analyzers/issues/7031
    #CA2021: Type '{}' is incompatible with type '{}' and cast attempts will throw InvalidCastException at runtime
    dotnet_diagnostic.CA2021.severity = none

    # ---

    #CA1002: Do not expose generic lists
    dotnet_diagnostic.CA1002.severity = warning

    #CA1003: Use generic event handler instances
    dotnet_diagnostic.CA1003.severity = warning

    #CA1005: Avoid excessive parameters on generic types
    dotnet_diagnostic.CA1005.severity = warning

    #CA1008: Enums should have zero value
    dotnet_diagnostic.CA1008.severity = warning

    #CA1012: Abstract types should not have constructors
    dotnet_diagnostic.CA1012.severity = warning

    #CA1019: Define accessors for attribute arguments
    dotnet_diagnostic.CA1019.severity = warning

    #CA1024: Use properties where appropriate
    dotnet_diagnostic.CA1024.severity = warning

    #CA1027: Mark enums with FlagsAttribute
    dotnet_diagnostic.CA1027.severity = warning

    #CA1031: Do not catch general exception types
    dotnet_diagnostic.CA1031.severity = warning

    #CA1040: Avoid empty interfaces
    dotnet_diagnostic.CA1040.severity = warning

    #CA1043: Use integral or string argument for indexers
    dotnet_diagnostic.CA1043.severity = warning

    #CA1044: Properties should not be write only
    dotnet_diagnostic.CA1044.severity = warning

    =====================================================
    == File: src/log4net.Tests/Appender/Internal/SimpleTelnetClient.cs
    =====================================================
    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Threading;
    using System.Threading.Tasks;

    namespace log4net.Tests.Appender.Internal;

    /// <summary>
    /// Telnet Client for unit testing
    /// </summary>
    /// <param name="received">Callback for received messages</param>
    /// <param name="port">TCP-Port to use</param>
    internal sealed class SimpleTelnetClient(
      Action<string> received, int port) : IDisposable
    {
      private readonly CancellationTokenSource _cancellationTokenSource = new();
      private readonly TcpClient _client = new();

      /// <summary>
      /// Runs the client (in a task)
      /// </summary>
      internal void Run() => Task.Run(() =>
      {
        _client.Connect(new IPEndPoint(IPAddress.Loopback, port));
        // Get a stream object for reading and writing
        using NetworkStream stream = _client.GetStream();

        int i;
        byte[] bytes = new byte[256];

        // Loop to receive all the data sent by the server
        while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
        {
          string data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
          received(data);
          if (_cancellationTokenSource.Token.IsCancellationRequested)
          {
            return;
          }
        }
      }, _cancellationTokenSource.Token);

      /// <inheritdoc/>
      public void Dispose()
      {
        _cancellationTokenSource.Cancel();
        _cancellationTokenSource.Dispose();
        _client.Dispose();
      }