wso2 - 如何在 wso2 apim 日志中显示用户名和调用的 api 名称?
问题描述
我正在尝试配置 wso2 apim (4.0.0) 的网关访问日志,以便它应该在日志文件中包含 api 用户名和 api 名称。我遵循了这个文档。
我想要的日志文件结构如下:
日期时间 | 远程IP | 用户名 | 调用_api_name | api_url | 请求 | 回复
任何帮助表示赞赏
解决方案
和在访问日志级别不可用invoked_api_name
。username
因此,您可以根据需要实现自定义 Synapse 处理程序以将相关信息记录到任一wso2carbon.log
或单独的日志中。
这是为 API Manager 3.2.0 Custom API Log Handler编写的示例。你也可以参考@Ishara Cooray提到的Handler 。
更新依赖项以与 API Manager 4.0.0 环境保持一致。使用 Handler 的 TOML 配置如下(与 3.2.0 中的配置略有不同)
[synapse_handlers.<custom_name>]
enabled = true
class = '<package-name.class>'
例如
[synapse_handlers.api_log_handler]
enabled = true
class = 'com.sample.handlers.APILogHandler'
更新
我已经使用 API Manager 4.0.0 依赖项更新了自定义处理程序实现。找到分支并README
在此处更新。
推荐阅读
- azure - 为网络接口 ID 创建 Azure 虚拟机 REST API 引发 404
- go - 通过 azure-sdk-for-go 下载 Azure 函数文件
- sccm - SMS_InstalledSoftware 中的软件代码
- string - 字符串查找未返回预期结果
- php - 从表行中获取选定的选项值
- typo3-8.x - 将图像添加到后端的 page.files 属性
- algorithm - 如何找到与点元组相关的最小数字总和,这样点就不会重复?
- python - 使用多处理库在同一类中运行并发进程
- voice-recognition - 在 google assistant sdk 中如何将默认的内置意图更改为我们自己的自定义意图
- python - 将 pandas 数据帧写入到_feather 有什么限制?