将所有 BIND 9.9 的消息发送到日志文件

将所有 BIND 9.9 的消息发送到日志文件

有没有办法让 BIND 的所有启动消息都进入配置文件中命名的日志?例如,在 named.conf 中,我有:

logging {
    channel qlog {
        file "/etc/bind/named.log";
        severity debug 2;
        print-time yes;
        print-severity yes;
        print-category yes;
    };
    category default { qlog; };
};

“默认”类别应该会获取其他类别中不会发生的所有日志记录。但是,当我启动命名时,我会在 /var/log/daemon.log 中收到一堆消息,然后在命名文件中收到更多消息。我希望它们全部进入命名文件,这样我就不必在启动时查看两个地方来找出可能出错的地方。

答案1

来自BIND 手册中的日志记录部分

在 BIND 9 中,只有解析了整个配置文件后才会建立日志配置。在 BIND 8 中,解析日志语句后就会立即建立日志配置。服务器启动时,所有与配置文件中的语法错误有关的日志消息都会发送到默认通道,如果指定了“-g”选项,则会发送到标准错误。


这个限制通常不是一个问题,因为named-checkconf -zj(或作为常规工作流程的一部分的其他配置检查变化)会在您(重新)启动之前很久就捕获任何语法错误named

顺便提一下,你选择的日志文件路径 ( /etc/bind/named.log) 看起来相当奇怪。一般来说,你不会希望日志文件位于 中/etc,或者让/etc/bind运行该服务的用户可写入。

相关内容