诊断标志
诊断标志允许您启用目标调试日志,而无需在所有地方打开详细日志记录。标志是可选的,除非子系统检查它们,否则没有效果。
工作原理
- 标志是字符串(不区分大小写)。
- 您可以在配置中或通过环境覆盖启用标志。
- 支持通配符:
telegram.*匹配telegram.http*启用所有标志
通过配置启用
json{ "diagnostics": { "flags": ["telegram.http"] } }
多个标志:
json{ "diagnostics": { "flags": ["telegram.http", "gateway.*"] } }
更改标志后重新启动网关。
环境覆盖(一次性)
bashMAYROS_DIAGNOSTICS=telegram.http,telegram.payload
禁用所有标志:
bashMAYROS_DIAGNOSTICS=0
日志去向
标志将日志发送到标准诊断日志文件。默认情况下:
/tmp/mayros/mayros-YYYY-MM-DD.log
如果设置了 logging.file,请改用该路径。日志是 JSONL(每行一个 JSON 对象)。编辑仍然根据 logging.redactSensitive 应用。
提取日志
选择最新的日志文件:
bashls -t /tmp/mayros/mayros-*.log | head -n 1
过滤 Telegram HTTP 诊断:
bashrg "telegram http error" /tmp/mayros/mayros-*.log
或在重现时跟踪:
bashtail -f /tmp/mayros/mayros-$(date +%F).log | rg "telegram http error"
对于远程网关,您也可以使用 mayros logs --follow(请参阅 /cli/logs)。
注意事项
- 如果
logging.level设置为高于warn,这些日志可能会被抑制。默认的info很好。 - 可以安全地保持启用标志;它们仅影响特定子系统的日志量。
- 使用 /logging 更改日志目的地、级别和编辑。