所以我正在开发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文件中,该文件非常全面且很酷
然而,我确实有一些问题,我会陷入困境,并希望得到帮助,这里是他们
-
响应的HTTP状态代码没有被记录在这里,我非常需要,我看起来here并且它说要使用 %s - HTTP status code of the response 但是当我将字符 %s 放在log4j.properties ConversionPattern中时,这些字符将被打印,因为它们是,我怎么能实现这个目标?
-
其次,为了可视化这些自定义日志,wso2是否有某种门户网站?
-
第三,我需要在请求/响应(每个API CALL 4个条目)日志行末尾添加一行,我无法找到任何解决方案,如果我将一行代码硬编码到log4j.properties ConversionPattern中,我想它每次进入后会打印,请帮帮忙?!
谢谢
2 回答
请在下面找到您的问题的答案
通过启用有线日志设置,您可以轻松跟踪响应的HTTP状态代码 . 您可以通过取消注释log4j.properties文件中的以下行来启用标头和wirelog( located at: \repository\conf )
第三个问题,你可以通过在顺序中使用log mediator(在请求中打印一行)和out-sequence(在响应中打印一行)来实现这一点 . 例如,你可以在api synapse配置文件中使用自定义日志作为跟随(这里我按顺序使用这个自定义登录)
log4j.logger.org.apache.synapse.transport.http.wire = DEBUG
此外,如果您想记录http消息,您也可以取消注释以下行 .