首页 文章

WSO2中的日志配置

提问于
浏览
0

所以我正在开发WSO2中的PER-API日志配置,为了记录API调用的REQUEST / RESPONSE,我们需要

  • 通过向其添加以下行来修改<APIM HOME> \ repository \ conf中的文件 log4j.properties

log4j.appender.TestAPI_APPENDER = org.apache.log4j.RollingFileAppender log4j.appender.TestAPI_APPENDER.File = $ / repository / logs / PerAPI / $ / wso2-APILogs-service $ .log log4j.appender.TestAPI_APPENDER.MaxFileSize = 1000KB log4j.appender.TestAPI_APPENDER.MaxBackupIndex = 10 log4j.appender.TestAPI_APPENDER.layout = org.apache.log4j.PatternLayout log4j.appender.TestAPI_APPENDER.layout.ConversionPattern =%d [%X - %X] [%t]%5p%c {1}%m%n%n log4j.category.API_LOGGER.admin - APINAME = TRACE,TestAPI_APPENDER

  • 它将以下详细信息记录到.txt文件中,该文件非常全面且很酷

enter image description here

然而,我确实有一些问题,我会陷入困境,并希望得到帮助,这里是他们

  • 响应的HTTP状态代码没有被记录在这里,我非常需要,我看起来here并且它说要使用 %s - HTTP status code of the response 但是当我将字符 %s 放在log4j.properties ConversionPattern中时,这些字符将被打印,因为它们是,我怎么能实现这个目标?

  • 其次,为了可视化这些自定义日志,wso2是否有某种门户网站?

  • 第三,我需要在请求/响应(每个API CALL 4个条目)日志行末尾添加一行,我无法找到任何解决方案,如果我将一行代码硬编码到log4j.properties ConversionPattern中,我想它每次进入后会打印,请帮帮忙?!

谢谢

2 回答

  • 0

    请在下面找到您的问题的答案

    通过启用有线日志设置,您可以轻松跟踪响应的HTTP状态代码 . 您可以通过取消注释log4j.properties文件中的以下行来启用标头和wirelog( located at: \repository\conf

    log4j.logger.org.apache.synapse.transport.http.headers=DEBUG
    log4j.logger.org.apache.synapse.transport.http.wire=DEBUG
    

    第三个问题,你可以通过在顺序中使用log mediator(在请求中打印一行)和out-sequence(在响应中打印一行)来实现这一点 . 例如,你可以在api synapse配置文件中使用自定义日志作为跟随(这里我按顺序使用这个自定义登录)

    <sequence xmlns="http://ws.apache.org/ns/synapse" name="admin--TwitterSearch:v1.0.0--In">
    <log level="custom">
                <property name="test" value="your value goes here……….” />
      </log> 
    </sequence>
    
  • 1
    • 您可以启用wirelog来跟踪API调用时的请求和响应 . 要在log4j.properties文件中取消注释,请执行此操作 .

    log4j.logger.org.apache.synapse.transport.http.wire = DEBUG

    此外,如果您想记录http消息,您也可以取消注释以下行 .

    log4j.logger.org.apache.synapse.transport.http.headers=DEBUG
    


相关问题