<?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">
	<appender name="console_appender" class="org.apache.log4j.ConsoleAppender">
		<param name="target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%p]: %m%n" />
		</layout>
	</appender>

	<appender name="sampleapp_log_appender" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="file" value="/tmp/sampleapp.log" />
		<param name="datePattern" value="'.'yyyy-MM-dd" />
		<param name="append" value="true" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
		</layout>
	</appender>

	<appender name="ranger_audit_appender" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="file" value="/tmp/sampleapp-ranger_audit.log" />
		<param name="datePattern" value="'.'yyyy-MM-dd" />
		<param name="append" value="true" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%m%n" />
		</layout>
	</appender>

	<category name="org.apache.ranger.examples.sampleapp" additivity="false">
		<priority value="info" />
		<appender-ref ref="console_appender" />
	</category>

	<category name="org.apache.ranger" additivity="false">
		<priority value="info" />
		<appender-ref ref="sampleapp_log_appender" />
	</category>

	<category name="ranger_audit_logger">
		<level value="info" />
		<appender-ref ref="ranger_audit_appender" />
	</category>

	<root>
		<priority value="warn" />
		<appender-ref ref="sampleapp_log_appender" />
	</root>
</log4j:configuration>
