有没有办法让所有的BIND的启动消息进入configuration文件中指定的日志? 例如,在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; }; };
“默认”类别应该可以获得其他类别中没有发生的所有日志logging。 但是,当我开始命名时,我在/var/log/daemon.log中收到了一堆消息,然后在命名的文件中收到了更多消息。 我希望他们都能进入到指定的文件中,所以我不必在两个地方找出可能出错的地方。
从BIND手册中的日志logging部分 :
在BIND 9中,日志configuration只有在整个configuration文件被parsing后才能build立。 在BIND 8中,只要parsing日志语句就立即build立。 服务器启动时,configuration文件中有关语法错误的所有日志消息将转至缺省通道,如果指定了“-g”选项,则会将其logging到标准错误。
这个限制通常不是一个问题,因为named-checkconf -zj (或者作为常规工作stream程的一部分的configuration检查的其他变体)会在(重新)启动named之前就会捕获任何语法错误。
作为更多的一个旁注,你select的日志文件( /etc/bind/named.log )的path是相当奇特的。 一般情况下,您不希望在/etc包含日志文件,或者为运行该服务的用户/etc/bind写入该文件。