我正在使用WSO2 ESB 4.8.1。并希望获得进程ID。是否可以在ESB中访问它?我必须记录它以进行一些记录。
答案 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,您可以查看。