0

我希望 Scriptella 为每个要 ETLed 的原始文件生成一个日志文件,这只是 log4j 为 java 应用程序所做的。如何使这成为可能?

4

2 回答 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 回答