# Define the root logger with appender file
log4j.rootLogger = INFO, FILE, stdout

# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${targetlog}logs/ci-log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%10c] : %m%n

# Set the maximum file size before rollover
log4j.appender.FILE.maxFileSize=5MB

# Set the the backup index
log4j.appender.FILE.maxBackupIndex=10


#############################################################

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %10c:%L - %m%n

log4j.logger.org.apache.cassandra.service.StorageProxy=INFO
log4j.logger.org.janusgraph.diskstorage.cql.CassandraTransaction=INFO, FILE, stdout

log4j.logger.org.openecomp.sdc.ci.tests.utils=INFO, FILE, stdout
log4j.additivity.org.openecomp.sdc.ci.tests.utils=false


