我希望 Scriptella 为每个要 ETLed 的原始文件生成一个日志文件,这只是 log4j 为 java 应用程序所做的。如何使这成为可能?
问问题
1760 次
2 回答
1
可以直接从 ETL 文件调用任何日志记录 API。实现这一目标的最简单方法可能是使用带有内置 Rhino 支持(JavaScript)的脚本驱动程序:
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
<connection id="log4j" driver="script"/>
<connection id="jul" driver="script"/>
<script connection-id="jul">
java.util.logging.Logger.getLogger("testLogger").info("This is JUL message");
</script>
<script connection-id="log4j">
//For demo purposes!!!
//Configures log4j to use console for output
//Normally log4j should be configured by using a config file
org.apache.log4j.BasicConfigurator.configure();
</script>
<script connection-id="log4j">
org.apache.log4j.Logger.getLogger("testLoggerName").info("This is LOG4J message");
</script>
</etl>
于 2013-07-06T19:07:35.390 回答
0
你可以像这样声明一个连接
<connection id="log" driver="text" url="D:/tmp/out.log"/>
然后像这样在您的查询中使用它
<query connection-id="dbConnectionIn">
select * from table
<script connection-id="log">
Result $column1, $comun2
</script>
</query>
现在这会将其记录到 D:/tmp 下的文件中
于 2012-11-06T10:33:43.563 回答