在 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 个活动可以与自定义记录器一起使用。
我尝试在 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 个活动可以与自定义记录器一起使用。