Java 如何修复log4j2未记录到文件的问题?

Java 如何修复log4j2未记录到文件的问题?,java,log4j,Java,Log4j,我正在修复旧的log4j属性文件以切换到新的log4j2。但是,我注意到,当我运行代码时,它为.log文件创建了一个文件夹结构,但没有记录任何内容。当我阅读控制台时,我看到一个错误,上面写着: 错误: log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system prop

我正在修复旧的log4j属性文件以切换到新的log4j2。但是,我注意到,当我运行代码时,它为
.log
文件创建了一个文件夹结构,但没有记录任何内容。当我阅读控制台时,我看到一个错误,上面写着:

错误:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


status = TRACE
name= properties_configuration

rootLogger.level = debug,info
rootLogger.additivity = false
rootLogger.appenderRef.rolling.ref = fileLogger
rootLogger.appenderRef.console.ref = consoleLogger

logger.UserLogger.name = UserLogger
logger.UserLogger.level = debug
logger.UserLogger.additivity = false
logger.UserLogger.appenderRef.rolling.ref = fileLogger
logger.UserLogger.appenderRef.console.ref = consoleLogger

appender.console.layout.pattern = %d{dd-MM-yyyy HH:mm:ss.SSS}.-%t-%x-%-3p-%-5c:%m%n

appender.rolling.type = RollingFile
appender.rolling.name = fileLogger
appender.rolling.fileName= C:/projects/properties/logs/my_log.txt
appender.rolling.filePattern= C:/projects/properties/logs/my_log_%d{dd-MM-yyyy}.zip
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{dd-MM-yyyy HH:mm:ss.SSS}.-%t-%x-%-5p-%-10c:%m%n
appender.rolling.policies.type = Policies


appender.console.type = Console
appender.console.name = consoleLogger
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
      

当我在线查找时,其他人说这是因为java类找不到属性文件。因此,我添加了
-Dlog4j.configuration=“Z:/Projects/properties\u file/log4j.properties
和行PropertyConfigurator.configure(“Z:/Projects/properties\u file/log4j.properties”)。尽管添加这些行仍然不能解决问题

代码:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.


status = TRACE
name= properties_configuration

rootLogger.level = debug,info
rootLogger.additivity = false
rootLogger.appenderRef.rolling.ref = fileLogger
rootLogger.appenderRef.console.ref = consoleLogger

logger.UserLogger.name = UserLogger
logger.UserLogger.level = debug
logger.UserLogger.additivity = false
logger.UserLogger.appenderRef.rolling.ref = fileLogger
logger.UserLogger.appenderRef.console.ref = consoleLogger

appender.console.layout.pattern = %d{dd-MM-yyyy HH:mm:ss.SSS}.-%t-%x-%-3p-%-5c:%m%n

appender.rolling.type = RollingFile
appender.rolling.name = fileLogger
appender.rolling.fileName= C:/projects/properties/logs/my_log.txt
appender.rolling.filePattern= C:/projects/properties/logs/my_log_%d{dd-MM-yyyy}.zip
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{dd-MM-yyyy HH:mm:ss.SSS}.-%t-%x-%-5p-%-10c:%m%n
appender.rolling.policies.type = Policies


appender.console.type = Console
appender.console.name = consoleLogger
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
      


仔细查看您收到的错误消息

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
请注意,它说要查看log4j 1.2常见问题解答。这意味着您的应用程序仍在使用log4j 1,而不是log4j 2。您需要确保项目中没有包含log4j 1.x jar。此外,log4j.configuration属性是您为log4j 1而不是log4j 2指定配置文件的方式。它使用log4j2.configurationFile.log4j 2s不使用PropertyConfigurator.configure()来配置自身,该方法将与您提供的log4j2.configurationFile属性冲突