我正在使用wso2 esb 4.8.1。并希望获得进程id。是否可以在esb中访问它?我得把它记录下来以备记录之用。
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%
这是我写的一篇文章,你可以查一下。
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
2条答案
按热度按时间gfttwv5a1#
我认为,您需要在wso2esb中为单独的服务创建单独的日志。您应该能够通过编辑log4j属性文件来实现这一点。
这是我写的一篇文章,你可以查一下。
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