<commit_before><?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!--
    Variables for simplifying logging configuration.
    http://logback.qos.ch/manual/configuration.html#variableSubstitution
    -->
    
    <variable name="idp.logfiles" value="${idp.home}/logs" />
    <variable name="idp.loghistory" value="180" />
    
    <!-- Much higher performance if you operate on DEBUG. -->
    <!-- <variable name="idp.process.appender" value="ASYNC_PROCESS" /> -->
    
    <!-- Logging level shortcuts. -->
    <variable name="idp.loglevel.idp" value="INFO" />
    <variable name="idp.loglevel.ldap" value="WARN" />
    <variable name="idp.loglevel.messages" value="INFO" />
    <variable name="idp.loglevel.encryption" value="INFO" />
    <variable name="idp.loglevel.opensaml" value="INFO" />
    <variable name="idp.loglevel.props" value="INFO" />
    
    <!-- Don't turn these up unless you want a *lot* of noise. -->
    <variable name="idp.loglevel.spring" value="ERROR" />
    <variable name="idp.loglevel.container" value="ERROR" />
    <variable name="idp.loglevel.xmlsec" value="INFO" />

    <!--
    If you want to use custom properties in this config file,
    we load the main property file for you.
    -->
    <variable file="${idp.home}/conf/idp.properties" />
    
    <!-- =========================================================== -->
    <!-- ============== Logging Categories and Levels ============== -->
    <!-- =========================================================== -->

    <!-- Logs IdP, but not OpenSAML, messages -->
    <logger name="net.shibboleth.idp" level="${idp.loglevel.idp:-INFO}"/>

    <!-- Logs OpenSAML, but not IdP, messages -->
    <logger name="org.opensaml.saml" level="${idp.loglevel.opensaml:-INFO}"/>
    
    <!-- Logs LDAP related messages -->
    <logger name="org.ldaptive" level="${idp.loglevel.ldap:-WARN}"/>
    
    <!-- Logs inbound and outbound protocols messages at DEBUG level -->
    <logger name="PROTOCOL_MESSAGE" level="${idp.loglevel.messages:-INFO}" />

    <!-- Logs unencrypted SAML at DEBUG level -->
    <logger name="org.opensaml.saml.saml2.encryption.Encrypter" level="${idp.loglevel.encryption:-INFO}" />

    <!-- Logs system properties during startup at DEBUG level -->
    <logger name="net.shibboleth.idp.log.LogbackLoggingService" level="${idp.loglevel.props:-INFO}" />

    <!-- Especially chatty. -->
    <logger name="net.shibboleth.idp.saml.attribute.mapping" level="INFO" />
    <logger name="org.apache.xml.security" level="${idp.loglevel.xmlsec:-INFO}" />
    <logger name="org.springframework" level="${idp.loglevel.spring:-ERROR}"/>
    <logger name="org.apache.catalina" level="${idp.loglevel.container:-ERROR}"/>
    <logger name="org.eclipse.jetty" level="${idp.loglevel.container:-ERROR}"/>


    <!-- =========================================================== -->
    <!-- ============== Low Level Details or Changes =============== -->
    <!-- =========================================================== -->

    <!-- Send messages to STDOUT to be handled by Docker -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- F-TICKS syslog destination. -->
    <appender name="IDP_FTICKS" class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>${idp.fticks.loghost:-localhost}</syslogHost>
        <port>${idp.fticks.logport:-514}</port>
        <facility>AUTH</facility>
        <suffixPattern>[%thread] %logger %msg</suffixPattern>
    </appender>

    <logger name="Shibboleth-Audit" level="ALL">
        <appender-ref ref="${idp.audit.appender:-STDOUT}"/>
    </logger>

    <logger name="Shibboleth-FTICKS" level="ALL" additivity="false">
        <appender-ref ref="${idp.fticks.appender:-STDOUT}"/>
    </logger>

    <logger name="Shibboleth-Consent-Audit" level="ALL">
        <appender-ref ref="${idp.consent.appender:-STDOUT}"/>
    </logger>
    
    <root level="${idp.loglevel.root:-INFO}">
        <appender-ref ref="${idp.process.appender:-IDP_PROCESS}"/>
        <appender-ref ref="${idp.warn.appender:-STDOUT}" />
    </root>

</configuration><commit_msg>I seem to have fixed logging!<commit_after><?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!--
    Variables for simplifying logging configuration.
    http://logback.qos.ch/manual/configuration.html#variableSubstitution
    -->
    
    <variable name="idp.logfiles" value="${idp.home}/logs" />
    <variable name="idp.loghistory" value="180" />
    
    <!-- Much higher performance if you operate on DEBUG. -->
    <!-- <variable name="idp.process.appender" value="ASYNC_PROCESS" /> -->
    
    <!-- Logging level shortcuts. -->
    <variable name="idp.loglevel.idp" value="INFO" />
    <variable name="idp.loglevel.ldap" value="WARN" />
    <variable name="idp.loglevel.messages" value="INFO" />
    <variable name="idp.loglevel.encryption" value="INFO" />
    <variable name="idp.loglevel.opensaml" value="INFO" />
    <variable name="idp.loglevel.props" value="INFO" />
    
    <!-- Don't turn these up unless you want a *lot* of noise. -->
    <variable name="idp.loglevel.spring" value="ERROR" />
    <variable name="idp.loglevel.container" value="ERROR" />
    <variable name="idp.loglevel.xmlsec" value="INFO" />

    <!--
    If you want to use custom properties in this config file,
    we load the main property file for you.
    -->
    <variable file="${idp.home}/conf/idp.properties" />
    
    <!-- =========================================================== -->
    <!-- ============== Logging Categories and Levels ============== -->
    <!-- =========================================================== -->

    <!-- Logs IdP, but not OpenSAML, messages -->
    <logger name="net.shibboleth.idp" level="${idp.loglevel.idp:-INFO}"/>

    <!-- Logs OpenSAML, but not IdP, messages -->
    <logger name="org.opensaml.saml" level="${idp.loglevel.opensaml:-INFO}"/>
    
    <!-- Logs LDAP related messages -->
    <logger name="org.ldaptive" level="${idp.loglevel.ldap:-WARN}"/>
    
    <!-- Logs inbound and outbound protocols messages at DEBUG level -->
    <logger name="PROTOCOL_MESSAGE" level="${idp.loglevel.messages:-INFO}" />

    <!-- Logs unencrypted SAML at DEBUG level -->
    <logger name="org.opensaml.saml.saml2.encryption.Encrypter" level="${idp.loglevel.encryption:-INFO}" />

    <!-- Logs system properties during startup at DEBUG level -->
    <logger name="net.shibboleth.idp.log.LogbackLoggingService" level="${idp.loglevel.props:-INFO}" />

    <!-- Especially chatty. -->
    <logger name="net.shibboleth.idp.saml.attribute.mapping" level="INFO" />
    <logger name="org.apache.xml.security" level="${idp.loglevel.xmlsec:-INFO}" />
    <logger name="org.springframework" level="${idp.loglevel.spring:-ERROR}"/>
    <logger name="org.apache.catalina" level="${idp.loglevel.container:-ERROR}"/>
    <logger name="org.eclipse.jetty" level="${idp.loglevel.container:-ERROR}"/>


    <!-- =========================================================== -->
    <!-- ============== Low Level Details or Changes =============== -->
    <!-- =========================================================== -->

    <!-- Send messages to STDOUT to be handled by Docker -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- Process log. -->
    <appender name="IDP_PROCESS" class="ch.qos.logback.core.ConsoleAppender">

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <Pattern>%date{ISO8601} - %level [%logger:%line] - %msg%n%ex{short}</Pattern>
        </encoder>

        <!-- Ignore Velocity status page error. -->
        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
            <evaluator>
                <matcher>
                    <Name>VelocityStatusMatcher</Name>
                    <regex>ResourceManager : unable to find resource 'status.vm' in any resource loader.</regex>
                </matcher>
                <expression>VelocityStatusMatcher.matches(formattedMessage)</expression>
            </evaluator>
            <OnMatch>DENY</OnMatch>
        </filter>
    </appender>

    <appender name="ASYNC_PROCESS" class="ch.qos.logback.core.ConsoleAppender">
        <appender-ref ref="IDP_PROCESS" />
        <discardingThreshold>0</discardingThreshold>
    </appender>

    <appender name="IDP_WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- Suppress anything below WARN. -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <Pattern>%date{ISO8601} - %level [%logger:%line] - %msg%n%ex{short}</Pattern>
        </encoder>

        <!-- Ignore Velocity status page error. -->
        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
            <evaluator>
                <matcher>
                    <Name>VelocityStatusMatcher</Name>
                    <regex>ResourceManager : unable to find resource 'status.vm' in any resource loader.</regex>
                </matcher>
                <expression>VelocityStatusMatcher.matches(formattedMessage)</expression>
            </evaluator>
            <OnMatch>DENY</OnMatch>
        </filter>
    </appender>

    <!-- Audit log. -->
    <appender name="IDP_AUDIT" class="ch.qos.logback.core.ConsoleAppender">

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <Pattern>%msg%n</Pattern>
        </encoder>
    </appender>

    <!-- Consent audit log. -->
    <appender name="IDP_CONSENT_AUDIT" class="ch.qos.logback.core.ConsoleAppender">

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <charset>UTF-8</charset>
            <Pattern>%msg%n</Pattern>
        </encoder>
    </appender>

    <!-- F-TICKS syslog destination. -->
    <appender name="IDP_FTICKS" class="ch.qos.logback.core.ConsoleAppender">
        <syslogHost>${idp.fticks.loghost:-localhost}</syslogHost>
        <port>${idp.fticks.logport:-514}</port>
        <facility>AUTH</facility>
        <suffixPattern>[%thread] %logger %msg</suffixPattern>
    </appender>

    <logger name="Shibboleth-Audit" level="ALL">
        <appender-ref ref="${idp.audit.appender:-IDP_AUDIT}"/>
    </logger>

    <logger name="Shibboleth-FTICKS" level="ALL" additivity="false">
        <appender-ref ref="${idp.fticks.appender:-STDOUT}"/>
    </logger>

    <logger name="Shibboleth-Consent-Audit" level="ALL">
        <appender-ref ref="${idp.consent.appender:-IDP_CONSENT_AUDIT}"/>
    </logger>

    <root level="${idp.loglevel.root:-INFO}">
        <appender-ref ref="${idp.process.appender:-IDP_PROCESS}"/>
        <appender-ref ref="${idp.warn.appender:-IDP_WARN}" />
    </root>

</configuration>
{'fraction_non_alphanumeric': 0.22040235000890154, 'fraction_numerical': 0.0036496350364963502, 'mean_word_length': 3.0225563909774436, 'pattern_counts': {'":': 0, '<': 232, '<?xml version=': 2, '>': 232, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 8}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7375393', 'n_tokens_mistral': 3550, 'n_tokens_neox': 3407, 'n_words': 580}