<?xml version="1.0" encoding="UTF-8" ?>
<!--
  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.
  -->

<!--
    This is used for falcon packaging only.
  -->

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${falcon.log.dir}/${falcon.app.type}.application.log"/>
        <param name="Append" value="true"/>
        <param name="Threshold" value="debug"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p - [%t:%x] ~ %m (%c{1}:%L)%n"/>
        </layout>
    </appender>

    <appender name="AUDIT" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${falcon.log.dir}/${falcon.app.type}.audit.log"/>
        <param name="Append" value="true"/>
        <param name="Threshold" value="debug"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %x %m%n"/>
        </layout>
    </appender>

    <appender name="METRIC" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${falcon.log.dir}/${falcon.app.type}.metric.log"/>
        <param name="Append" value="true"/>
        <param name="Threshold" value="debug"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %m%n"/>
        </layout>
    </appender>

    <appender name="SECURITY" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${falcon.log.dir}/${falcon.app.type}.security.audit.log"/>
        <param name="Append" value="true"/>
        <param name="Threshold" value="debug"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %x %m%n"/>
        </layout>
    </appender>

    <logger name="org.apache.falcon" additivity="false">
        <level value="debug"/>
        <appender-ref ref="FILE"/>
    </logger>

    <logger name="AUDIT">
        <level value="info"/>
        <appender-ref ref="AUDIT"/>
    </logger>

    <logger name="METRIC">
        <level value="info"/>
        <appender-ref ref="METRIC"/>
    </logger>

    <logger name="org.apache.hadoop.security" additivity="false">
        <level value="info"/>
        <appender-ref ref="SECURITY"/>
    </logger>

    <logger name="org.apache.hadoop" additivity="false">
        <level value="info"/>
        <appender-ref ref="FILE"/>
    </logger>

    <logger name="org.apache.oozie" additivity="false">
        <level value="info"/>
        <appender-ref ref="FILE"/>
    </logger>

    <logger name="org.apache.hadoop.hive" additivity="false">
        <level value="info"/>
        <appender-ref ref="FILE"/>
    </logger>

    <root>
        <priority value="info"/>
        <appender-ref ref="FILE"/>
    </root>

</log4j:configuration>
