kettle5+日志输出到文件

kettle 5+的日志模块重写了,将log4j改成插件,但存在BUG,无法正法初始化,


可以查看相关文章http://jira.pentaho.com/browse/PDI-13206


导致的问题就是在程序中调用kettle时,日志只能打在控制台,无法输出到日志文件,


解决办法:


在环境初始化时


KettleEnvironment.init();
KettleClientEnvironment.getInstance().setClient( KettleClientEnvironment.ClientType.CARTE );


加入
LoggingBuffer loggingBuffer = KettleLogStore.getAppender();
loggingBuffer.addLoggingEventListener(new Log4jLogging());


再在classpath下增加log4j.xml


可以拷贝老版本中的这个文件,新版中默认没有了


在这个文件中,加入


<appender name="fileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/waqs.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"   
   value="%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n" />
</layout>
</appender>


<category name="org.pentaho.di" additivity="false">
<priority value="DEBUG"/>
<appender-ref ref="fileAppender"/>
</category>


这样就可以在tomcat下的logs中找到输出日志了


参考文章:http://forums.pentaho.com/showthread.php?156592-Kettle-5-0-1-Log4j-plugin-usage

猜你喜欢

转载自blog.csdn.net/onemy/article/details/47319083