【问题标题】:How to log from Java UDF installed in DB2如何从安装在 DB2 中的 Java UDF 进行日志记录
【发布时间】:2018-11-28 09:24:30
【问题描述】:

我在 DB2 10.5 中安装了一个 JAVA UDF,一切正常。 但是我有一些捕获块,我想在其中记录一些信息以及堆栈跟踪。问题是我如何记录它们以及这些信息将打印在哪个 db2 日志文件中。

我尝试使用 System.out.println 并查看 db2diag 日志文件,但那里没有打印任何内容。

【问题讨论】:

    标签: java db2 user-defined-functions


    【解决方案1】:

    在 Db2-LUW 的 java 例程中,System.out.println 的输出将永远不会出现在 Db2 诊断文件中,如果您明智,您不应该强制这样做。

    处理它的方法不止一种。

    一种方法是让您的例程在调用 System.out.println 之前重定向标准输出。 示例

    System.setOut(new PrintStream(new FileOutputStream("java_routine_log.txt")));
    

    在上面的示例中,文件名是不合格的,因此默认情况下它将出现在实例诊断目录中(默认情况下 ~${DB2INSTANCE}/sqllib/db2dump )。

    另一种方法是使用可配置的日志记录框架,让您可以控制日志记录位置和其他详细信息以进行跟踪。

    还有其他方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      相关资源
      最近更新 更多