WSO2 API Manager中Debug Request Flow政策使用及日志缺失问题
Debug Request Flow政策无日志输出的排查步骤
你配置Debug Request Flow政策后未在目标.log文件中找到对应日志,结合你提供的日志内容和配置截图,按以下方向排查:
确认政策与目标资源的绑定关系
检查政策是否已正确关联到你要调试的API或具体操作,仅在Publisher中保存政策但未绑定到目标API/操作,不会触发日志记录。调整日志级别配置
Debug Request Flow的日志需要将对应Logger级别设为DEBUG或TRACE。打开WSO2 APIM的日志配置文件<APIM_HOME>/repository/conf/log4j2.properties,确保以下配置正确:# 开启HTTP请求流日志 logger.http-flow.name = org.apache.synapse.transport.http.wire logger.http-flow.level = DEBUG logger.http-flow.additivity = false logger.http-flow.appenderRef.CARBON_CONSOLE.ref = CARBON_CONSOLE logger.http-flow.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE # 开启APIM网关相关DEBUG日志 logger.apimgt-gateway.name = org.wso2.carbon.apimgt.gateway logger.apimgt-gateway.level = DEBUG修改后重启APIM服务生效。
核对日志输出文件
你当前查看的日志仅包含Publisher后台请求记录,Debug Request Flow的日志默认输出到carbon.log或wso2-apim-gateway.log(取决于APIM版本),去<APIM_HOME>/repository/logs目录下检查这些文件。确保请求经过网关
必须直接调用网关的API端点(格式:https://<网关地址>:8243/<API上下文>/<资源路径>),而非在Publisher后台操作。只有经过网关的请求才会触发该政策的日志记录。检查政策配置细节
确认Debug Request Flow政策中是否勾选了「记录请求内容」「记录响应内容」,是否设置了正确的日志类别,有没有添加过滤条件导致符合条件的请求未被记录。
当前日志内容
0:0:0:0:0:0:0:1 - - [30/Mar/2023:14:29:06 +0100] - 400 - - - 0.000 0:0:0:0:0:0:0:1 - - [30/Mar/2023:14:29:06 +0100] GET /api/am/publisher/v3/operation-policies/2aca9f70-b362-4b24-97c6-df94e4363b27 HTTP/1.1 200 420 https://localhost:9443/publisher/apis/dce93d9f-a000-4eee-bf56-96a758808a8f/policies Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 0.106
政策配置截图

内容的提问来源于stack exchange,提问作者Oussama Nairi
相关产品推荐
相关产品推荐

