logging 块
logging
是一个可选的配置块,用于自定义 Alloy 如何生成日志消息。logging
在指定时没有标签,每个配置文件只能提供一次。
示例
logging {
level = "info"
format = "logfmt"
}
参数
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
level | string | 日志行应写入的级别 | "info" | 否 |
format | string | 用于写入日志行的格式 | "logfmt" | 否 |
write_to | list(LogsReceiver) | 发送日志条目到的接收器列表 | 否 |
日志级别
以下字符串被识别为有效的日志级别:
"error"
:仅写入 *error* 级别的日志。"warn"
:仅写入 *warn* 级别或更高级别的日志。"info"
:仅写入 *info* 级别或更高级别的日志。"debug"
:写入所有日志,包括 *debug* 级别的日志。
日志格式
以下字符串被识别为有效的日志行格式:
"logfmt"
:将日志写入为 logfmt 格式。"json"
:将日志写入为 JSON 对象格式。
日志接收器
write_to
参数允许 Alloy 将其日志条目同时发送到一个或多个 loki.*
组件的日志接收器,以及默认位置。例如,这可以是 loki.write
组件的导出,用于直接将日志条目发送到 Loki,或者 loki.relabel
组件,用于首先添加特定标签。
日志位置
Alloy 将所有日志写入到 stderr
。
当将 Alloy 作为 systemd 服务运行时,通过 journald
查看写入到 stderr
的日志。
当将 Alloy 作为容器运行时,通过 docker logs
或 kubectl logs
查看写入到 stderr
的日志,具体取决于用于部署 Alloy 的是 Docker 还是 Kubernetes。
当将 Alloy 作为 Windows 服务运行时,日志会写入为事件日志。你可以通过事件查看器查看日志。
在其他情况下,将 Alloy 进程的 stderr
重定向到一个文件,以便日志持久化到磁盘上。