ANDRES PK
ANDRES PK

Reputation: 1

Different levels in two appenders log4j2.properties?

I am new to Log4j2 and I can't understand how to set two different levels in two appenders, for example I want to write in File.log since level Error, and in Console since level Debug, here is my properties file:

status = error
name = PropertiesConfig

property.filename = logs

appenders =  console, rolling

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}/AndrewDebug-${date:yyyy-MM-dd}.log
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

logger.rolling.name = web.languages
logger.rolling.level = debug
logger.rolling.appenderRef.rolling.ref = RollingFile

rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT

Upvotes: 0

Views: 4628

Answers (2)

Artur Semikov
Artur Semikov

Reputation: 11

try using the following syntax:

for console:

appender.console.filter.threshold.type = ThresholdFilter
appender.console.filter.threshold.level = debug

for rolling file:

appender.rolling.filter.threshold.type = ThresholdFilter
appender.rolling.filter.threshold.level = info

for logger use:

logger.(your_name).level = trace(max_level)

Upvotes: 1

abstractnature
abstractnature

Reputation: 456

Use

logger.console.level = debug
logger.rolling.level = info

Edit: Define a name also

logger.console.name = web.languages
logger.console.appenderRef.console.ref = STDOUT

Upvotes: 0

Related Questions