#
# DisributedLog Logging Configuration
#

# Example with rolling log file
log4j.rootLogger=INFO, R

#disable zookeeper logging
log4j.logger.org.apache.zookeeper=OFF
#Set the bookkeeper level to warning
log4j.logger.org.apache.bookkeeper=INFO

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=TRACE
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p - [%t:%C{1}@%L] - %m%n

# Add ROLLINGFILE to rootLogger to get log file output
#    Log DEBUG level and above messages to a log file
#log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.ROLLINGFILE.Threshold=INFO
#log4j.appender.ROLLINGFILE.File=distributedlog.log
#log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLINGFILE.DatePattern='.'yyyy-MM-dd-HH-mm
#log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} - %-5p - [%t:%C{1}@%L] - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.Threshold=TRACE
log4j.appender.R.File=target/error.log
log4j.appender.R.MaxFileSize=200MB
log4j.appender.R.MaxBackupIndex=7
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{ISO8601} - %-5p - [%t:%C{1}@%L] - %m%n
