Reputation: 299
I never worked with this type of issue and now I'm supposed to port log4j.properties file into log4j2.xml and I'm having bunch of problems.
Is there any tool that I could use for this? Or any guide because I'm really stuck here.
List of some Log4j.properties that I have to transfer:
log4j.additivity.com.company.areas.audit.config.auditors.TransactionAuditor=false;
(Bunch of lines like these below, with different paths)
log4j.logger.net.sf=WARN, FILE,FILE_ERROR,CONSOLE
log4j.logger.xxxx.yyyy.zzzz = ERROR,FILE,FILE_ERROR,CONSOLE
log4j.logger.aaaa.bbbb.cccc = INFO, FILE,FILE_ERROR,CONSOLE
log4j.appender.CONSOLE.Threshold=OFF
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${base.path}/logs/application.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n
log4j.appender.FILE.MaxFileSize=100000KB
log4j.appender.FILE.MaxBackupIndex=5
log4j.appender.FILE_PERFORMANCE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE_PERFORMANCE.File=${base.path}/logs/application_performance.log
log4j.appender.FILE_PERFORMANCE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE_PERFORMANCE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n
log4j.appender.FILE_PERFORMANCE.MaxFileSize=10000KB
log4j.appender.FILE_PERFORMANCE.MaxBackupIndex=2
(and bunch of similar stuff but for example instead of FILE_PERFORMACE I have things like: "FILE_ERROR" -> log4j.appender.FILE_ERROR = org.apache.log4j.RollingFileAppender", "FILE_INTEGRATION" etc"
If someone could help me translate these properties from above, I believe I would be able to translate others by myself because they're similar to these.
Thanks in advance!
Upvotes: 1
Views: 5842
Reputation: 299
I didn't find tool that would translate log4j.properties file into log4j2.xml but manual translation ended up being quite simple.
Example for loggers:
log4j.additivity.com.exm.tst.audit.config.auditors.TransactionAuditor=false
log4j.logger.com.exm.tst.audit.config.auditors.TransactionAuditor=ERROR, FILE
Will become:
<Logger name="com.exm.tst.audit.config.auditors.TransactionAuditor"
additivity="false" level="ERROR">
<appender-ref ref="FILE"/>
</Logger>
Example for appenders:
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=${catalina.base}/logs/application.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n
log4j.appender.FILE.MaxFileSize=100000KB
log4j.appender.FILE.MaxBackupIndex=5
Will become:
<RollingFile name="FILE" fileName="${sys:catalina.home}/logs/application.log"
filePattern="${sys:catalina.home}/logs/application.%i.log.gz" >
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<SizeBasedTriggeringPolicy size="10000KB" />
</Policies>
<DefaultRolloverStrategy max="5"/>
</RollingFile>
So entire log4j2.xml file based on this example should look like this:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<!-- Logging Properties -->
<Properties>
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p - %m%n</Property>
</Properties>
<Appenders>
<RollingFile name="FILE" fileName="${sys:catalina.home}/logs/application.log"
filePattern="${sys:catalina.home}/logs/application.%i.log.gz" >
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<SizeBasedTriggeringPolicy size="10000KB" />
</Policies>
<DefaultRolloverStrategy max="5"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.exm.tst.audit.config.auditors.TransactionAuditor"
additivity="false" level="ERROR">
<appender-ref ref="FILE"/>
</Logger>
</Loggers>
</Configuration>
Upvotes: 6