# Set root logger level to FATAL and its only appender to stdout
log4j.rootLogger=FATAL, stdout
log4j.category.org=FATAL,  stdout

# stdout is set to be a ConsoleAppender. 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  
# stdout uses PatternLayout.
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

 
