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

<Configuration status="INFO">
    <Properties>
        <Property name="logDir">${env:KYUUBI_LOG_DIR}</Property>
        <Property name="restAuditLogPath">rest-audit.log</Property>
        <Property name="restAuditLogFilePattern">rest-audit-%d{yyyy-MM-dd}-%i.log</Property>
        <Property name="k8sAuditLogPath">k8s-audit.log</Property>
        <Property name="k8sAuditLogFilePattern">k8s-audit-%d{yyyy-MM-dd}-%i.log</Property>
        <Property name="kyuubiServerLogPath">kyuubi-server.log</Property>
        <Property name="kyuubiServerFilePatten">kyuubi-server-%d{yyyy-MM-dd}-%i.log</Property>
    </Properties>
    <Appenders>
        <Console name="stdout" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %p %tn %c: %m%n%ex"/>
            <Filters>
                <RegexFilter regex=".*Thrift error occurred during processing of message.*" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
        </Console>
        <RollingFile name="root" fileName="${sys:logDir}/${sys:kyuubiServerLogPath}"
                     filePattern="${sys:logDir}/${sys:kyuubiServerFilePatten}">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %p %c{1}: %m%n%ex"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="51200KB" />
            </Policies>
            <Filters>
                <RegexFilter regex=".*Thrift error occurred during processing of message.*" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <RollingFile name="restAudit" fileName="${sys:logDir}/${sys:restAuditLogPath}"
                     filePattern="${sys:logDir}/${sys:restAuditLogFilePattern}">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %p %c{1}: %m%n%ex"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="51200KB" />
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <RollingFile name="k8sAudit" fileName="${sys:logDir}/${sys:k8sAuditLogPath}"
                     filePattern="${sys:logDir}/${sys:k8sAuditLogFilePattern}">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %p %c{1}: %m%n%ex"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="51200KB" />
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="root"/>
        </Root>
        <Logger name="org.apache.kyuubi.ctl.ServiceControlCli" level="error" additivity="false">
            <AppenderRef ref="stdout"/>
        </Logger>
        <!--
                     <Logger name="org.apache.kyuubi.server.mysql.codec" level="trace" additivity="false">
            <AppenderRef ref="stdout"/>
        </Logger>
        -->
        <Logger name="org.apache.hive.beeline.KyuubiBeeLine" level="error" additivity="false">
            <AppenderRef ref="stdout"/>
        </Logger>
        <Logger name="org.apache.kyuubi.server.http.authentication.AuthenticationAuditLogger" additivity="false">
            <AppenderRef ref="restAudit" />
        </Logger>
        <Logger name="org.apache.kyuubi.engine.KubernetesApplicationAuditLogger" additivity="false">
            <AppenderRef ref="k8sAudit" />
        </Logger>
    </Loggers>
</Configuration>
