2
log4j.rootCategory=DEBUG,CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %-30c - %m%n

log4j.logger.org.apache.velocity=WARN

I need to migrate from log4j to log4j2 and I need to change properties file as above. Maybe somebody can help me to understand how would be log4j2.properties look like.

This is what I have done by myselfe, but I-m not sure if its correct

appenders = console

appender.console.type = Console
appender.console.name = STDOUT
appender.console.threshold=DEBUG
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d %-5p %-30c - %m%n
Java
  • 91
  • 1
  • 7

1 Answers1

2

The properties format of Log4j2 is not the most popular one. You can see this answer for the logic behind this format.

You configuration lacks the configuration of the loggers:

appender.1.type=Console
appender.1.name=STDOUT
appender.1.target=SYSTEM_OUT
appender.1.layout.type=PatternLayout
appender.1.layout.pattern=%d %-5p %-30c - %m%n

rootLogger.level=DEBUG
rootLogger.appenderRef.1.ref=STDOUT
rootLogger.appenderRef.1.level=DEBUG

logger.1.name=org.apache.velocity
logger.1.level=WARN

Remark also, that an appender's threshold is usually configured on the AppenderRef (cf. this question).

Personally I find the XML format easier to understand:

<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
  <Appenders>
    <Console
      name="Console"
      target="SYSTEM_OUT">
      <PatternLayout pattern="%d %-5p %-30c - %m%n" />
    </Console>
  </Appenders>
  <Loggers>
    <Root level="DEBUG">
      <AppenderRef
        ref="Console"
        level="DEBUG" />
    </Root>
    <Logger
      name="org.apache.velocity"
      level="WARN" />
  </Loggers>
</Configuration>
Piotr P. Karwasz
  • 12,857
  • 3
  • 20
  • 43