【问题标题】:How to modify the log4j access patterns as per requirements(ResultCode,ResponseTime,RemoteHOST)如何根据要求修改 log4j 访问模式(ResultCode、ResponseTime、RemoteHOST)
【发布时间】:2014-10-17 22:58:34
【问题描述】:

我正在使用 wso2 esb-4.8.1 我希望使用自己的 log4j pattren,基本上我的代理服务将创建自己的日志文件,其中需要包含我使用此博客 enter link description here

完成的一些特定信息

这个配置已经完成

log4j.category.SERVICE_LOGGER.PROXY_TEST=INFO, PROXY_APPENDER
# log4j.additivity.PROXY_APPENDER=false
log4j.additivity.SERVICE_LOGGER.PROXY_TEST=false
log4j.appender.PROXY_APPENDER=org.wso2.carbon.logging.appenders.CarbonDailyRollingFileAppender
log4j.appender.PROXY_APPENDER.File=${carbon.home}/repository/logs/${instance.log}/wso2-esb-PROXY_TEST_Proxy${instance.log}.log
log4j.appender.PROXY_APPENDER.Append=true
log4j.appender.PROXY_APPENDER.layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout
log4j.appender.PROXY_APPENDER.layout.ConversionPattern= [%T]  [%t] %a %5p %c{1} %m %n
log4j.appender.PROXY_APPENDER.layout.TenantPattern=%U%@%D [%T] [%S]
log4j.appender.PROXY_APPENDER.threshold=DEBUG

并且文件正在创建位置,但我希望捕获 ResultCode,RemoteHost,ResponseTime 我已经在我的模式中添加了

%a - 远程 IP 地址 %T - 处理请求所用的时间,以秒为单位 但是当我启动 wso2 ESB 服务器时出现此错误 喜欢

log4j:ERROR Unexpected char [a] at position 8 in conversion patterrn.
log4j:ERROR Unexpected char [T] at position 23 in conversion patterrn.

在我的文件中打印这样的模式

**[0]**  [localhost-startStop-1] **%a**  INFO PROXY_TEST Building Axis service for Proxy service : PROXY_TEST 
[0]  [localhost-startStop-1] **%a**  INFO PROXY_TEST Adding service PROXY_TEST to the Axis2 configuration 
**[0]**  [localhost-startStop-1] **%a**  INFO PROXY_TEST Successfully created the Axis2 service for Proxy service : PROXY_TEST 
**[0]**  [PassThroughMessageProcessor-1] %a  INFO PROXY_TEST To: /services/PROXY_TEST, WSAction: http://www.openuri.org/clientRequest, SOAPAction: http://www.openuri.org/clientRequest, MessageID: urn:uuid:7853a5ed-e4d4-4b4b-ac72-c111ab44280d, Direction: request,

为什么即使我尝试了请求和响应但我的响应时间和远程主机没有打印,我也会这样。 是 wso2 会支持这个 r 不。 提前致谢

【问题讨论】:

    标签: log4j wso2 wso2esb wso2carbon


    【解决方案1】:

    正如您在配置中看到的那样,org.wso2.carbon.utils.logging.TenantAwarePatternLayout 类正在执行模式处理。它是org.apache.log4j.PatternLayout 的子类。两者都不知道占位符 %a。但是,占位符 %T 应被视为租户 ID。

    要解决您的问题,您必须编写自己的模式布局类(最好扩展 TenantAwarePatternLayout)并在那里处理您需要的新占位符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-10
      • 2022-01-02
      • 2017-04-29
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多