java—如何在wso2 esb 4.8.1中获取进程id

ddrv8njm  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(323)

我正在使用wso2 esb 4.8.1。并希望获得进程id。是否可以在esb中访问它?我得把它记录下来以备记录之用。

gfttwv5a

gfttwv5a1#

我认为,您需要在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%

这是我写的一篇文章,你可以查一下。

uwopmtnx

uwopmtnx2#

据我所知,wso2 esb中没有进程id概念。我猜进程id的概念伴随着长时间运行的进程而来。
但如果您需要为每个请求获取唯一的id,则可以使用消息id。请参阅链接[1]。使用具有消息id属性的日志中介程序[2]。
请注意,在高并发系统中,记录每个请求的消息id可能会影响性能。
[1] - https://docs.wso2.com/display/esb481/soap+headers#soapheaders-消息ID[2]-https://docs.wso2.com/display/esb481/log+mediator

相关问题