
# Turbine logging configuration
#
# If we don't know the logging facility, put it into the
# turbine.log
#
log4j.rootLogger = INFO, app, console


log4j.logger.${package} = DEBUG, app, console
log4j.additivity.${package} = false

#
# Avalon log
#
log4j.logger.avalon = DEBUG, app, console
log4j.additivity.avalon = false


#
# sql log
# allows TRACE
log4j.logger.org.apache.torque.util = DEBUG, sql, console
log4j.additivity.org.apache.torque.util = false

#
# Torque log
# allows TRACE
log4j.logger.org.apache.torque = DEBUG, torque
log4j.additivity.org.apache.torque = false

# turbine log
# allows TRACE
log4j.logger.org.apache.turbine = INFO, turbine
log4j.additivity.org.apache.turbine = false


# #
# Logfile definitions
#

# application.log
log4j.appender.app = org.apache.log4j.RollingFileAppender
log4j.appender.app.file = src/test/logs/application.log
log4j.appender.app.MaxFileSize=5MB
log4j.appender.app.MaxBackupIndex=5
log4j.appender.app.layout = org.apache.log4j.PatternLayout
log4j.appender.app.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.app.append = true

#
# sql.log
#
log4j.appender.sql = org.apache.log4j.RollingFileAppender
log4j.appender.sql.file = src/test/logs/sql.log
log4j.appender.sql.MaxFileSize=5MB
log4j.appender.sql.MaxBackupIndex=5
log4j.appender.sql.layout = org.apache.log4j.PatternLayout
log4j.appender.sql.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.sql.append = true

#
# console
#
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern = %d [%t] %-5p %C{1} - %m%n

#
# torque.log
#
log4j.appender.torque = org.apache.log4j.RollingFileAppender
log4j.appender.torque.MaxFileSize=5MB
log4j.appender.torque.MaxBackupIndex=5
log4j.appender.torque.file = src/test/logs/torque.log
log4j.appender.torque.layout = org.apache.log4j.PatternLayout
log4j.appender.torque.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.torque.append = false

#
# turbine.log
#
log4j.appender.turbine = org.apache.log4j.RollingFileAppender
log4j.appender.turbine.MaxFileSize=5MB
log4j.appender.turbine.MaxBackupIndex=5
log4j.appender.turbine.file = src/test/logs/turbine.log
log4j.appender.turbine.layout = org.apache.log4j.PatternLayout
log4j.appender.turbine.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.turbine.append = false