如何在Caddy中配置log指令同时输出至stdout和stderr并验证?
如何验证Caddy日志同时输出到stdout和stderr
你的Caddyfile配置是有效的——Caddy允许定义多个log块,每个块可以独立指定输出目标,所以你现在的写法确实会把日志同时发送到stdout和stderr。下面是几种验证方法:
重定向到不同文件验证
启动Caddy时,把stdout和stderr分别重定向到两个独立文件:caddy run --config Caddyfile > stdout.log 2> stderr.log之后访问你的网站(比如用
curl https://my.website.com),然后查看stdout.log和stderr.log,两个文件里都应该出现对应的请求日志。实时区分终端输出
大多数终端会用不同颜色显示stdout和stderr(比如stderr默认是红色)。直接用caddy run --config Caddyfile启动后,访问网站,终端里会同时出现两种颜色的日志输出,这就说明日志分别流向了两个不同的流。用工具检查文件描述符(进阶)
用lsof命令查看Caddy进程的文件描述符,确认它同时持有stdout(文件描述符1)和stderr(文件描述符2):lsof -p $(pgrep caddy) | grep -E '(stdout|stderr|1u|2u)'输出里应该能看到Caddy进程同时打开了这两个流的记录。
内容的提问来源于stack exchange,提问作者gameveloster
相关产品推荐
相关产品推荐

