<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration scan="true" scanPeriod="30 seconds">
<!--
<configuration scan="true" scanPeriod="30 seconds" debug="true">
-->
    <!-- この設定ファイルは 30 秒に 1 回、リロードされます。 -->
    <!-- logback.xml は logback-test.xml がある場合は読み込まれず logback-test.xml が読み込まれます。 -->
    <!-- 開発時、テスト時にはこのファイルを logback-test.xml としてローカルにコピーしてお使いください。 -->

    <!--
      jp.co.y_net.amm 配下のログ出力設定
    -->
    <appender name="AMM_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <prudent>true</prudent><!-- true = 複数プロセスで同じログファイルへの出力を保証するモード -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level> <!-- 【TRACE, DEBUG, INFO, WARN, ERROR, OFF】 -->
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.base:-sdc}/logs/AMMLog.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxHistory>14</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>64MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss} %marker %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="jp.co.y_net.amm" level="debug">
        <appender-ref ref="AMM_APPENDER" />
    </logger>
    
    <!-- メール用ロガー -->
    <appender name="AMM_MAIL_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <prudent>true</prudent><!-- true = 複数プロセスで同じログファイルへの出力を保証するモード -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level> <!-- 【TRACE, DEBUG, INFO, WARN, ERROR, OFF】 -->
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.base:-sdc}/logs/mail/AMM_MAIL_Log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxHistory>365</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>64MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss} %marker %msg%n</pattern>
        </encoder>
    </appender>
    <logger name="AmmMail" level="debug">
        <appender-ref ref="AMM_MAIL_APPENDER" />
    </logger>
    

    <!-- ルートロガー -->
    <property name="LEVEL_CONSOLE_OTHER" value="OFF" />
    <property name="PATTERN_CONSOLE" value="%-5level %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %marker [%class{10}.%method:%line] - %msg%n" />
    <appender name="STDOUT_OTHER" class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>${LEVEL_CONSOLE_OTHER}</level>
        </filter>
        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
            <evaluator><!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
                <expression>return !logger.startsWith("jp.co.y_net");</expression>
            </evaluator>
            <!-- 上記の評価で true の場合はログを出力。そうでない場合はログを出力しません -->
            <OnMismatch>DENY</OnMismatch><OnMatch>NEUTRAL</OnMatch>
        </filter>
        <encoder>
            <pattern>${PATTERN_CONSOLE}</pattern>
        </encoder>
    </appender>
    <root level="debug">
        <appender-ref ref="STDOUT_OTHER" />
    </root>

</configuration>
