Scriptella 如何生成日志文件



我希望 Scriptella 为每个要 ETL 的原始文件生成一个日志文件,就像 log4j 对 java 应用程序所做的那样。如何使这成为可能?

任何日志记录 API 都可以直接从 ETL 文件调用。实现这一点的最简单方法可能是使用内置 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>

你可以声明这样的连接

<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 下的文件中

最新更新