首页 > 解决方案 > 将 Log4j 1.2.17 迁移到 2.12.1

问题描述

所以我刚刚将 log4j 1.2.17 更新为 log4j 2.12.1 并更改了我的 pom.xml 中的依赖项:

            <dependency>     
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.12.1</version>
            </dependency>
           <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.12.1</version>
            </dependency>
            <dependency>
                 <groupId>org.apache.logging.log4j</groupId>
                 <artifactId>log4j-1.2-api</artifactId>
                 <version>2.12.1</version>    
            </dependency>

但我不知道我的 log4j2.properties 文件是否正确配置(注意:我使用不同的 log4j2.properties 文件):

log4j.rootLogger=DEBUG, Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{dd.MM.yyyy HH:mm:ss,SSS} [%t] %-5p %c{1} - %m%n


log4j.logger.com.Project.commons.gui.config=WARN
log4j.logger.com.Project.commons.gui.module=WARN

status=ERROR
rootLogger.level=DEBUG
appenders=console

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

rootLogger.appenderRef.console.ref = console

logger.config.name=com.Project.commons.gui.config
logger.config.level=WARN
logger.module.name=com.Project.commons.gui.module
logger.module.level=WARN

并从

log4j.rootLogger=%%logging_level%%, DefaultAppender, ErrorAppender, ConsoleAppender

log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.DefaultAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorAppender=org.apache.log4j.DailyRollingFileAppender

log4j.appender.ConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleAppender.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n

# DefaultAppender uses PatternLayout.
log4j.appender.DefaultAppender.File=C://TEMP/c-client.log
log4j.appender.DefaultAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.DefaultAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DefaultAppender.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n

# ErrorAppender uses PatternLayout.
log4j.appender.ErrorAppender.File=C://TEMP/c-client_error.log
log4j.appender.ErrorAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n
log4j.appender.ErrorAppender.threshold=ERROR

log4j.logger.com.Project.db=WARN
log4j.logger.com.Project.util=WARN
log4j.logger.com.mchange=WARN
log4j.logger.org.springframework=WARN
log4j.logger.com.Project.c.commons.util=WARN
log4j.logger.org.apache.cxf=WARN
log4j.logger.org.mortbay=WARN
log4j.logger.com.Project.commons.gui.config.FileRegistryImpl=INFO
log4j.logger.com.Project.co.gui.configuration.GuiScanner=INFO

status=ERROR
rootLogger.level=%%logging_level%%
appenders= default, error, console

appender.console.type=Console
appender.console.name=STDOUT
appender.console.target=SYSTEM_OUT
appender.default.type=RollingFile
appender.default.name=RollingFile
appender.error.type=RollingFile
appender.error.name=RollingFile

appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n

# DefaultAppender uses PatternLayout.
appender.default.fileName=C://TEMP/c-client.log
appender.default.datePattern='.'yyyy-MM-dd
appender.default.layout.type=PatternLayout
appender.default.layout.pattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n

# ErrorAppender uses PatternLayout.
appender.error.fileName=C://TEMP/c-client_error.log
appender.error.datePattern='.'yyyy-MM-dd
appender.error.layout.type=PatternLayout
appender.error.layout.pattern=%d{yyyy.MM.dd HH:mm:ss,SSS} %-5p [%t] %c [%X{request} %X{command}] - %m%n
appender.error.filter.threshold.type=ThresholdFilter
appender.error.filter.threshold.level=ERROR

rootLogger.appenderRef.console.ref = console

logger.db,name=com.Project.db
logger.db.level=WARN
logger.util.name=com.Project.util
logger.util.level=WARN
logger.mchange.name=com.mchange
logger.mchange.level=WARN
logger.springframework.name=org.springframework
logger.springframework.level=WARN
logger.util.name=com.Project.c.commons.util
logger.util.level=WARN
logger.cxf.name=org.apache.cxf
logger.cxf.level=WARN
logger.mortbay.name=org.mortbay
logger.mortbay.level=WARN
logger.FileRegistryImpl.name=com.Project.commons.gui.config.FileRegistryImpl
logger.FileRegistryImpl.level=INFO
logger.GuiScanner.name=com.Project.c.gui.configuration.GuiScanner
logger.GuiScanner.level=INFO

当我运行我的项目的 server.bat 文件时,我收到以下错误消息:

ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2

我希望有人能帮帮忙。

标签: javaloggingmigrationlog4jlog4j2

解决方案


推荐阅读