将log4j.properties转换为log4j2.properties

ckocjqey  于 2024-01-08  发布在  其他
关注(0)|答案(1)|浏览(179)

我正在从log4j 1.2迁移到log4j 2.22.0。问题是我的项目包含一个log4j.properties文件,我在将其转换为log4j2.properties时遇到了麻烦。我已经在这里进行了大量的讨论,到目前为止它没有任何帮助。任何人都有一个想法?这里是我的.properties文件。谢谢

  1. !log4j.debug=true: Default is false. Outputs verbose info as log4j is configuring itself.
  2. log4j.debug=${log4j.isdebug}
  3. log4j.rootCategory=${log4j.default.level},${log4j.appender}
  4. log4j.category.fr.bowling=${log4j.mybowl.level}
  5. log4j.category.org.apache.catalina=FATAL
  6. log4j.appender.R=org.apache.log4j.RollingFileAppender
  7. log4j.appender.R.File=${log4j.path}/mybowl_main.log
  8. log4j.appender.R.MaxFileSize=10MB
  9. log4j.appender.R.MaxBackupIndex=3
  10. log4j.appender.R.layout=org.apache.log4j.PatternLayout
  11. log4j.appender.R.layout.ConversionPattern=%-5p %d [%t] %X{UserSessionId} %c{1} %30m%n
  12. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
  13. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
  14. log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

字符串
这是包含该部分的项目的development.properties

  1. # logger Configuration of file: log4j.properties
  2. log4j.default.level=ERROR
  3. log4j.appender=CONSOLE,R
  4. log4j.isdebug=false
  5. log4j2.mybowl.level=DEBUG
  6. log4j2.path=C:/LOGS/mybowl/


到现在还没有结果!

yruzcnhs

yruzcnhs1#

要从版本1.x配置转换到版本2.x配置,您可以使用org.apache.log4j.config.Log4j1ConfigurationConverter from log4j-1.2-api

  1. # Download `log4j-1.2-api` with deps
  2. mvn dependency:copy -DoutputDirectory=log4j -Dartifact=org.apache.logging.log4j:log4j-1.2-api:2.22.0
  3. mvn dependency:copy -DoutputDirectory=log4j -Dartifact=org.apache.logging.log4j:log4j-core:2.22.0
  4. mvn dependency:copy -DoutputDirectory=log4j -Dartifact=org.apache.logging.log4j:log4j-api:2.22.0
  5. java -cp 'log4j/*' org.apache.log4j.config.Log4j1ConfigurationConverter -i=log4j.properties -o=log4j2.xml

字符串
您将获得此配置:

  1. <?xml version="1.0"?>
  2. <Configuration name="Log4j1">
  3. <Appenders>
  4. <RollingFile name="R" fileName="/mybowl_main.log" filePattern="/mybowl_main.log.%i">
  5. <PatternLayout pattern="%-5p %d [%t] %X{UserSessionId} %c{1} %30m%n"/>
  6. <Policies>
  7. <SizeBasedTriggeringPolicy size="10MB"/>
  8. </Policies>
  9. <DefaultRolloverStrategy max="3" fileIndex="min"/>
  10. </RollingFile>
  11. <Console name="CONSOLE" target="SYSTEM_OUT">
  12. <PatternLayout pattern="%-4r [%t] %-5p %c %ndc - %m%n"/>
  13. </Console>
  14. </Appenders>
  15. <Loggers>
  16. <Root level="${sys:log4j.default.level}">
  17. <AppenderRef ref="${sys:log4j.appender}"/>
  18. </Root>
  19. <Logger name="fr.bowling" level="${sys:log4j.mybowl.level}"/>
  20. <Logger name="org.apache.catalina" level="FATAL"/>
  21. </Loggers>
  22. </Configuration>

备注:如果您愿意,可以将其转换为属性配置,但我不建议这样做,因为它是无用的复杂。

展开查看全部

相关问题