<?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.
-->
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

    <!-- ================================= -->
    <!-- Preserve messages in a local file -->
    <!-- ================================= -->

    <appender name="cloudLog" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="/var/log/cloud.log"/>
      <param name="MaxFileSize" value="10000KB"/>
      <param name="MaxBackupIndex" value="4"/>

      <layout class="org.apache.log4j.EnhancedPatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601}{GMT} %-5p [%c{3}] (%t:%x) %m%n"/>
      </layout>
    </appender>

    <appender name="cloudOut" class="org.apache.log4j.RollingFileAppender">
       <param name="File" value="/var/log/cloud/cloud.out"/>
       <param name="Append" value="true"/>
       <param name="MaxFileSize" value="10000KB"/>
       <param name="MaxBackupIndex" value="4"/>

      <layout class="org.apache.log4j.EnhancedPatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601}{GMT} %-5p [%c{3}] (%t:%x) %m%n"/>
      </layout>
    </appender>

    <appender name="cloudSystemvmLog" class="org.apache.log4j.rolling.RollingFileAppender">
       <param name="File" value="/usr/local/cloud/systemvm/cloud.log"/>
       <param name="Append" value="true"/>
       <param name="MaxFileSize" value="10000KB"/>
       <param name="MaxBackupIndex" value="4"/>

      <layout class="org.apache.log4j.EnhancedPatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601}{GMT} %-5p [%c{3}] (%t:%x) %m%n"/>
      </layout>
    </appender>

    <appender name="APISERVER" class="org.apache.log4j.rolling.RollingFileAppender">
      <param name="Append" value="true"/>
      <param name="Threshold" value="DEBUG"/>
      <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="/var/log/cloud/api-server.log.%d{yyyy-MM-dd}{GMT}.gz"/>
        <param name="ActiveFileName" value="/var/log/cloud/api-server.log"/>
      </rollingPolicy>

      <layout class="org.apache.log4j.EnhancedPatternLayout">
         <param name="ConversionPattern" value="%d{ISO8601}{GMT} %m%n"/>
      </layout>
    </appender>

    <!-- ============================== -->
    <!-- Append messages to the console -->
    <!-- ============================== -->

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <param name="Target" value="System.out"/>
      <param name="Threshold" value="INFO"/>

      <layout class="org.apache.log4j.EnhancedPatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE}{GMT} %5p %c{1}:%L - %m%n"/>
      </layout>
    </appender>

    <!-- ================ -->
    <!-- Limit categories -->
    <!-- ================ -->

    <category name="com.cloud">
      <priority value="INFO"/>
    </category>

    <category name="org.apache.cloudstack">
      <priority value="INFO"/>
    </category>

    <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
    <category name="org.apache">
      <priority value="INFO"/>
    </category>

    <category name="org">
      <priority value="INFO"/>
    </category>

    <category name="net">
      <priority value="INFO"/>
    </category>

    <category name="apiserver.com.cloud">
      <priority value="DEBUG"/>
    </category>

    <logger name="apiserver.com.cloud" additivity="false">
      <level value="DEBUG"/>
      <appender-ref ref="APISERVER"/>
    </logger>

    <!-- ======================= -->
    <!-- Setup the Root category -->
    <!-- ======================= -->

    <root>
      <level value="INFO"/>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="cloudLog"/>
      <appender-ref ref="cloudOut"/>
      <appender-ref ref="cloudSystemvmLog"/>
    </root>

</log4j:configuration>
