如何在WSO2 ESB 4.8.1中获取进程ID

时间:2015-01-15 09:47:55

标签: java process operating-system wso2 wso2esb

我正在使用WSO2 ESB 4.8.1。并希望获得进程ID。是否可以在ESB中访问它?我必须记录它以进行一些记录。

2 个答案:

答案 0 :(得分:1)

据我所知,WSO2 ESB中没有进程ID概念。我想进程ID概念伴随着长时间运行的进程。

但是,如果您需要为每个请求获取唯一ID,则可以使用消息ID。参考链接[1]。将log mediator [2]与消息ID属性一起使用。

请注意,记录每个请求的消息ID可能会影响高并发系统的性能。

[1] - https://docs.wso2.com/display/ESB481/SOAP+Headers#SOAPHeaders-MessageID [2] - https://docs.wso2.com/display/ESB481/Log+Mediator

答案 1 :(得分:0)

我认为,您希望在wso2esb中为单独的服务提供单独的日志。您应该能够通过编辑log4j属性文件来实现这一目的。

eg:
 log4j.category.SERVICE_LOGGER.SimpleStockQuoteProxy=INFO, PROXY_APPENDER
log4j.additivity.PROXY_APPENDER=false
log4j.appender.PROXY_APPENDER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.PROXY_APPENDER.File=${carbon.home}/repository/logs/${instance.log}/wso2-esb-stockquote-proxy${instance.log}.log
log4j.appender.PROXY_APPENDER.Append=true
log4j.appender.PROXY_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.PROXY_APPENDER.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%

这是我写过的post,您可以查看。