如何配置WSO2 API Manager日志以获取用户登录及操作详情?
WSO2 API Manager 日志配置:追踪用户登录与操作行为
要在WSO2 API Manager中实现用户登录信息及操作行为的追踪,可通过以下步骤配置日志:
1. 启用并配置Audit日志
Audit日志是WSO2专门用于记录用户关键操作的日志类型,需修改<APIM_HOME>/repository/conf/log4j2.properties文件完成配置:
- 添加/更新Audit日志器配置:
logger.audit.name = org.wso2.carbon.audit.log logger.audit.level = INFO logger.audit.additivity = false logger.audit.appenderRef.CARBON_AUDIT.ref = CARBON_AUDIT
- 确保CARBON_AUDIT输出器配置正确,指定日志文件路径和带用户名的格式:
appender.CARBON_AUDIT.type = RollingFile appender.CARBON_AUDIT.name = CARBON_AUDIT appender.CARBON_AUDIT.fileName = ${sys:carbon.home}/repository/logs/audit.log appender.CARBON_AUDIT.filePattern = ${sys:carbon.home}/repository/logs/audit-%d{MM-dd-yyyy}.log appender.CARBON_AUDIT.layout.type = PatternLayout appender.CARBON_AUDIT.layout.pattern = [%d] %P%5p {%c} - *Username: %X{username}* - %x %m%n
%X{username}会从MDC(映射诊断上下文)中提取当前登录用户的用户名,WSO2在用户认证成功后自动将该值注入MDC。
2. 调整核心组件日志级别
针对用户管理、API操作等核心组件,调整日志级别以获取更详细的操作信息:
- 用户登录/认证相关组件配置:
logger.user-core.name = org.wso2.carbon.user.core logger.user-core.level = DEBUG logger.user-core.additivity = false logger.user-core.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE
- API发布/订阅/管理操作相关组件配置:
logger.apimgt-impl.name = org.wso2.carbon.apimgt.impl logger.apimgt-impl.level = INFO logger.apimgt-impl.additivity = false logger.apimgt-impl.appenderRef.CARBON_LOGFILE.ref = CARBON_LOGFILE
3. 验证配置效果
完成配置后重启WSO2 API Manager服务:
- 执行用户登录、API发布、订阅、修改等操作
- 查看
<APIM_HOME>/repository/logs/audit.log,可看到包含用户名的操作记录 - 查看
carbon.log,获取更细粒度的组件操作细节
内容的提问来源于stack exchange,提问作者saifLAYouni
相关产品推荐
相关产品推荐

