<?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/">

	<appender name="default" class="org.apache.log4j.ConsoleAppender">
		<!-- layout class="org.apache.log4j.TTCCLayout"/ -->
		<layout class="org.apache.log4j.PatternLayout">
			<!-- param name="ConversionPattern" value="NSB(%c) %-5p %m	at %l%n"/ -->
			<param name="ConversionPattern" value="%-5p [%d{HH:mm:ss}]: %m		at %l %n"/>
		</layout>
	</appender>

	<!-- log detail configuration -->

	<logger name="org.apache.empire.xml" additivity="false">
		<level value="info"/>
		<appender-ref ref="default"/>
	</logger>
	
	<logger name="org.apache.empire.commons" additivity="false">
		<level value="warn"/>
		<appender-ref ref="default"/>
	</logger>

	<logger name="org.apache.empire.db" additivity="false">
		<level value="warn"/>
		<appender-ref ref="default"/>
	</logger>
	
	<!-- Set this level to "debug" to log all SQL-Statements -->		
	<logger name="org.apache.empire.db.DBDatabase" additivity="false">
		<level value="debug"/>
		<appender-ref ref="default"/>
	</logger>

	<logger name="org.apache.empire.struts2" additivity="false">
		<level value="warn"/>
		<appender-ref ref="default"/>
	</logger>
	
	<logger name="org.apache.empire.struts2.websample" additivity="false">
		<level value="debug"/>
		<appender-ref ref="default"/>
	</logger>

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

</log4j:configuration>
