在 Tibco BW/Designer 中更改 Log4J 配置没有达到预期的效果

Changing Log4J configuration in Tibco BW/Designer does not have the desired effect

我尝试在 Tibco 中设置自定义 Log4J appender BW/Designer。

我向 <tibco_folder>/bw/5.11/lib/log4j.xml 添加了以下附加程序:

<appender name="TestFile" class="org.apache.log4j.FileAppender">
    <param name="file" value="d:/temp/tibco-test.log"/>
    <param name="Threshold" value="DEBUG"/>
    <param name="append" value="true"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy MMM dd HH:mm:ss:SSS 'GMT'} %X{offset} %X{engine} %X{role} [%X{msgCategory}] %X{msgcode} %m %n"/>
    </layout>
</appender>

然后我在 tibco_bw_log appender 旁边为每个记录器添加了 <appender-ref ref="TestFile"/>,包括 bw.logger。消息被发送到 tibco_bw_log,但没有发送到我的 appender。

我的 appender 只得到一些像下面这样的日志,这些日志没有出现在 tibco_bw_log appender (c:\Users\<me>\.TIBCO\logs\<app_name>.log)

2017 Feb 21 17:05:16:693 GMT    []  no system property set, defaulting to entrust61 since got class com.entrust.toolkit.security.provider.Initializer 
2017 Feb 21 17:05:16:698 GMT    []  getVendor()=entrust61 
2017 Feb 21 17:05:16:719 GMT    []  Initializing Entrust crypto provider in NON FIPS 140-2 mode; insert provider as normal 
2017 Feb 21 17:05:17:302 GMT    []  using X9_31usingDESede 
2017 Feb 21 17:05:18:021 GMT    []  getVendor()=entrust61 
2017 Feb 21 17:05:18:023 GMT    []  Initialized crypto vendor entrust61 
java.lang.Exception: FOR TRACING ONLY -- NOT AN ERROR
at com.tibco.security.impl.new.F.init(CryptoVendor.java:69)
...

即使我从 bw.logger 中删除了 tibco_bw_log appender,日志仍然在那里,而不是我的记录器。我将我的 appender 名称更改为 tibco_bw_log 并删除了原来的 appender,但随后出现错误:"org.apache.log4j.FileAppender cannot be cast to com.tibco.share.util.BWLogFileAppender"。

现在我什至没有得到那个错误,但是我的 appender 没有得到任何日志。

每次更改 log4j.xml 文件时,我都会重新启动 Designer。我还对 log4j.properties 应用了相同的更改,甚至删除了它。看来 log4j.xml 优先了。

我还尝试在 bwengine.xml 中为 bw.log4j.configuration 指定 log4j.xml 的完整路径并添加以下两个属性(如 here 所示)- 没有效果。

<property>
       <name>bw.engine.showInput</name>
       <option>bw.log4j.configuration</option>
       <default>true</default>
       <description>Log4j Configuration file path</description>
</property>
<property>
       <name>bw.engine.showOutput</name>
       <option>bw.log4j.configuration</option>
       <default>true</default>
       <description>Log4j Configuration file path</description>
</property>

我正在使用 BW 5.11 和 Designer 5.8。

我错过了什么?

不幸的是,这在 Tibco 中是不可能的。只有 Java 个活动可以与自定义记录器一起使用。