如何在WSO2 APIM的API日志中添加用户名?无需CustomLogHandler的最简方案
在WSO2 API Manager中无需自定义日志处理器记录API调用用户名的最简方案
存在无需使用CustomLogHandler的解决方案,利用WSO2 APIM内置的Log4j MDC(映射诊断上下文)变量即可实现,步骤如下:
- 定位到WSO2 APIM安装目录下的日志配置文件,通常为
<APIM_HOME>/repository/conf/log4j2.properties(新版本可能为log4j2.xml) - 找到对应API日志的Appender配置(比如
API_LOGFILE或HTTP_ACCESS_LOG),修改其日志布局的pattern参数,添加%X{username}字段。示例修改如下:# 针对API日志文件的修改 appender.API_LOGFILE.layout.pattern = [%d] %5p {%c} [Username: %X{username}] - %m%n # 针对HTTP访问日志的修改(若需要在访问日志中记录) appender.HTTP_ACCESS_LOG.layout.pattern = %h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" [Username: %X{username}] - 保存配置文件后,重启WSO2 APIM服务,后续API调用日志会自动包含调用用户的用户名。
该方案完全依赖APIM内置的上下文变量传递,无需编写任何自定义代码,是最简的实现方式。
内容的提问来源于stack exchange,提问作者m.feyzollahi
相关产品推荐
相关产品推荐

