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
kettle5+日志输出到文件
最新推荐文章于 2024-06-07 16:24:42 发布