日志
artifacthub-shim 使用 zap 生成结构化进程日志。默认的 chart 配置会在 info 级别将 JSON 日志写入 stdout,这适用于 Kubernetes 日志收集。
配置级别和格式
在常见场景中,使用 logging.level 和 logging.format:
支持的级别有 debug、info、warn 和 error。支持的格式有 json 和 console。
该 chart 会将这些值渲染为:
在诊断仓库刷新、索引或 API 请求行为时,可临时使用 debug。调查结束后请恢复为 info,因为按来源和请求级别的 debug 日志可能会非常冗长。
使用 zap 配置文件
对于更高级的日志需求,请提供一个符合 zap.Config 结构的 YAML 或 JSON 文件。当设置了 ARTIFACTHUB_SHIM_LOG_CONFIG_FILE 时,进程会在启动期间读取该文件,并忽略 ARTIFACTHUB_SHIM_LOG_LEVEL 和 ARTIFACTHUB_SHIM_LOG_FORMAT。
该 chart 可以从 logging.config 渲染该文件:
这会创建一个 ConfigMap,并将其挂载到 /etc/artifacthub-shim/logging.yaml。进程接收的环境变量为 ARTIFACTHUB_SHIM_LOG_CONFIG_FILE=/etc/artifacthub-shim/logging.yaml。
你也可以挂载自己的文件,并让 chart 指向它:
不要同时设置 logging.config 和 logging.configFile。
应用更改
日志记录器仅在进程启动期间读取基于文件的配置。更改 logging.level、logging.format、logging.config 或自定义挂载的配置文件后,请重启 deployment 或执行 rollout restart:
敏感数据
该服务不会记录请求正文、Kubernetes Secrets、bearer token 或 Authorization headers。包含用户信息的 Git URLs 会在返回到日志或源状态消息之前进行脱敏。