从 java 命令行禁用 sap jco 跟踪

Disable sap jco traces from java command line

在我们的 mule 服务器中,我们每秒都受到如下日志的轰炸,我该如何阻止它。

*************** SAP_CMLISTEN ***************
[Thr 133440] SAP_CMLISTEN: timeout = 2000
[Thr 133440] SiSelNSelect: start select (timeout=2000)
[Thr 133440] Tue Oct 29 16:27:38 2019
[Thr 133440] NiSelISelectInt: 0 handles selected (0 buffered)
[Thr 133440] SAP_CMLISTEN: STISendNiping returns: 0 
[Thr 133440] SAP_CMLISTEN: timeout after 2000 msecs
[Thr 133440] *************** SAP_CMLISTEN ***************

我用 -Djco.trace_level=0 尝试了 运行 一些 java 命令,但失败了。

$ java -Djco.trace_level=0

以上命令无效。

我希望 sap jco 跟踪日志被禁用。

属性 jco.trace_level 用于上部 JCo API 跟踪。但是您的示例显示了 CPIC 跟踪。
这可以通过登录参数 (jco.client.cpic_trace) 或通过全局 JCo 属性 (cpic.trace) 打开,也可以通过跟踪级传播从通信伙伴远程打开。

如果您没有在 JCo 端打开它,那么它是从通信伙伴(ABAP 系统)远程激活的。
最近新增了一个JCo 属性 cpic.trace.accept_remote_activation,用于接受CPIC远程跟踪激活,默认为'0'(OFF)。据我所知,旧的 JCo 补丁级别无法抑制这种远程跟踪激活。 如果您将 JCo 库更新到 latest patch level(当前为 JCo 3.0.20),如果 Java 应用程序没有主动打开它,则不应再创建这些 CPIC 跟踪。