# Define the log level for the root logger
status = warn
name = PropertiesConfig

# Define the console appender
appender.console.type = Console
appender.console.name = ConsoleAppender
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{dd MMM yyyy HH:mm,SSS} %5p [%t] %c{1}:%L - %m%n

# Define the warn file appender
appender.warnAppender.type = RollingFile
appender.warnAppender.name = WarnAppender
appender.warnAppender.fileName = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.warn
appender.warnAppender.filePattern = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.warn.%d{yyyy-MM-dd}.%i
appender.warnAppender.policy.type = SizeBasedTriggeringPolicy
appender.warnAppender.policy.size = 100MB
appender.warnAppender.strategy.type = DefaultRolloverStrategy
appender.warnAppender.strategy.max = 5
appender.warnAppender.layout.type = PatternLayout
appender.warnAppender.layout.pattern = %d{dd MMM yyyy HH:mm:ss,SSS} %5p [%t] %c{1}:%L - %m%n
appender.warnAppender.filter.threshold.type = ThresholdFilter
appender.warnAppender.filter.threshold.level = WARN

# Define the info file appender
appender.infoAppender.type = RollingFile
appender.infoAppender.name = InfoAppender
appender.infoAppender.fileName = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.info
appender.infoAppender.filePattern =${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.info.%d{yyyy-MM-dd}.%i
appender.infoAppender.policy.type = SizeBasedTriggeringPolicy
appender.infoAppender.policy.size = 100MB
appender.infoAppender.strategy.type = DefaultRolloverStrategy
appender.infoAppender.strategy.max = 5
appender.infoAppender.layout.type = PatternLayout
appender.infoAppender.layout.pattern = %d{dd MMM yyyy HH:mm:ss,SSS} %5p [%t] %c{1}:%L - %m%n
appender.infoAppender.filter.threshold.type = ThresholdFilter
appender.infoAppender.filter.threshold.level = INFO


# Define the error file appender
appender.errorAppender.type = RollingFile
appender.errorAppender.name = ErrorAppender
appender.errorAppender.fileName = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.error
appender.errorAppender.filePattern = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.error.%d{yyyy-MM-dd}.%i
appender.errorAppender.policy.type = SizeBasedTriggeringPolicy
appender.errorAppender.policy.size = 100MB
appender.errorAppender.strategy.type = DefaultRolloverStrategy
appender.errorAppender.strategy.max = 5
appender.errorAppender.layout.type = PatternLayout
appender.errorAppender.layout.pattern = %d{dd MMM yyyy HH:mm:ss,SSS} %5p [%t] %c{1}:%L - %m%n
appender.errorAppender.filter.threshold.type = ThresholdFilter
appender.errorAppender.filter.threshold.level = ERROR

# Define the Debug file appender
appender.debugAppender.type = RollingFile
appender.debugAppender.name = DebugAppender
appender.debugAppender.fileName = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.debug
appender.debugAppender.filePattern = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/BluSync.debug.%d{yyyy-MM-dd}.%i
appender.debugAppender.policy.type = SizeBasedTriggeringPolicy
appender.debugAppender.policy.size = 100MB
appender.debugAppender.strategy.type = DefaultRolloverStrategy
appender.debugAppender.strategy.max = 5
appender.debugAppender.layout.type = PatternLayout
appender.debugAppender.layout.pattern = %d{dd MMM yyyy HH:mm,SSS} %5p [%t] %c{1}:%L - %m%n
appender.debugAppender.filter.threshold.type = ThresholdFilter
appender.debugAppender.filter.threshold.level = DEBUG


# Define the failed file appender
appender.failedFileLog.type = File
appender.failedFileLog.name = FailedFileAppender
appender.failedFileLog.fileName = ${sys:user.home}/.ParaBlu/ParaBlu/Blusync/failedFile.csv
appender.failedFileLog.layout.type = PatternLayout
appender.failedFileLog.layout.pattern = %d{dd MMM yyyy HH:mm:ss},%m%n

# Define the loggers
logger.warnLogger.name = com.Parablu.epa.view
logger.warnLogger.level = DEBUG
logger.warnLogger.appenderRefs = warnAppender, infoAppender, errorAppender, console
logger.warnLogger.additivity = false

logger.failedFileLogger.name = failedFileLogger
logger.failedFileLogger.level = ERROR
logger.failedFileLogger.appenderRefs = failedFileLog
logger.failedFileLogger.additivity = false
logger.failedFileLogger.appenderRef.failedFileLog.ref = FailedFileAppender

# Root logger configuration
rootLogger.level = debug
rootLogger.appenderRefs = ConsoleAppender, warnAppender, infoAppender, errorAppender
rootLogger.appenderRef.console.ref = ConsoleAppender
rootLogger.appenderRef.errorAppender.ref = ErrorAppender
rootLogger.appenderRef.infoAppender.ref = InfoAppender
rootLogger.appenderRef.warnAppender.ref = WarnAppender
rootLogger.appenderRef.debugAppender.ref = DebugAppender