本节介绍了在BIND 9之前需要首先出现在named.conf文件中的日志子句。这不再是这种情况,它可能出现在任何方便的地方。BIND在有效的日志记录子句可用之前使用syslogd,所以named.conf解析错误和其他信息将出现在/ var / log / messages(取决于syslog.conf)之前或缺少有效的日志记录子句。在Windows分析错误的情况下写入事件日志。只能定义一个日志子句,但可以定义多个通道来流日志。
记录子句语法
BIND提供全面的日志记录功能。以下粗体字的值是关键字;
logging { [ channel channel_name { (文件路径名 [ versions(number | unlimited)] [ size size_spec] | syslog syslog_facility | stderr | null); [ 严重性(严重性 |错误|警告|通知| 信息|调试[级别] |动态); ] [ print-category yes | 没有; ] [ print-severity yes | 没有; ] [ 打印时间是| 没有; ] }; ] [ category category_name { channel_name; [channel_name; ...] }; ] ... };
以下注释描述了各个字段和值:
频道 channel_name | BIND将在单个日志记录语句中接受多个通道定义。‘channel_name‘通常写为非空格名称,例如my_channel,但可以写成带引号的字符串,例如“我的频道”。它是一个任意但唯一的名称,用于将类别声明与此声道定义相关联,或者可能采用以下标准(预定义)值之一:
|
||||||||||||||||||||||||||||||||||||||||||||
文件 | ‘path_name‘是一个引用的字符串,用于定义日志文件的绝对路径,例如“/var/log/named/namedlog.log”。从‘文件‘上面的语法来看,‘syslog‘,‘stderr‘和‘null‘是‘通道‘互斥的。 | ||||||||||||||||||||||||||||||||||||||||||||
版本 | “版本”可以使用参数“数字”或“无限制”,并定义BIND应该保留的文件版本的数量。版本文件是由BIND通过附加.0,.1等文件参数定义的文件创建的。文件被“滚动”(重命名或覆盖),所以.0将始终包含最后的日志信息,然后开始新的日志,.1下一步等等。“无限”目前意味着“版本99”。除非使用大小参数,否则新的日志版本将只在重新启动BIND时“滚动”。如果未定义任何版本语句,则使用无限大小的单个日志文件,并在重新启动时将新数据附加到定义的文件。这可以成为一个非常大的文件。 | ||||||||||||||||||||||||||||||||||||||||||||
大小 size_spec | “大小”允许您定义创建的文件大小的限制。一个只有数字的size_spec值被认为是以字节为单位的大小,你可以使用简写形式k或者K,m或者M,g或者G,例如25m = 25000000。大小和版本有如下关系:
|
||||||||||||||||||||||||||||||||||||||||||||
syslog syslog_facility | ‘syslog‘表示该通道将使用syslogd日志记录功能(在syslog.conf中定义)。syslog_facility是“syslog”的设施定义,可以在syslog的手册页中找到。从‘文件‘上面的语法来看,‘syslog‘,‘stderr‘和‘null‘是‘通道‘互斥的。 | ||||||||||||||||||||||||||||||||||||||||||||
标准错误 | “stderr”写入当前标准,通常只用于调试目的。从‘文件‘上面的语法来看,‘syslog‘,‘stderr‘和‘null‘是‘通道‘互斥的。 | ||||||||||||||||||||||||||||||||||||||||||||
空值 | ‘null‘写入/ dev / null - 位桶,无处。它不会产生日志。从‘文件‘上面的语法来看,‘syslog‘,‘stderr‘和‘null‘是‘通道‘互斥的。 | ||||||||||||||||||||||||||||||||||||||||||||
严重 | 控制日志记录级别并可以采用定义的值。对于等于或高于指定级别(=>)的任何消息,将会进行记录。下级不会被记录。
|
||||||||||||||||||||||||||||||||||||||||||||
打印时间是| 没有 | 控制是否将日期和时间写入输出通道(是)还是不是(否)。默认是“否”。 | ||||||||||||||||||||||||||||||||||||||||||||
print-severity yes | 没有 | 控制严重性级别是写入输出通道(是)还是不是(否)。默认是“否”。 | ||||||||||||||||||||||||||||||||||||||||||||
print-category是| 没有 | 控制严重性级别是写入输出通道(是)还是不是(否)。默认是“否”。 | ||||||||||||||||||||||||||||||||||||||||||||
categorycategory_name | 控制记录到各种定义的或默认的“channel_names”的类别。category_name(带引号的字符串,例如“default”)可能采用以下值之一:
|
例子
第一个示例显示了一个最小日志记录配置,可以工作并生成适度的日志卷。
logging { channel simple_log { file“/var/log/named/bind.log”version 3 size 5m; 严重性警告; 打印时间是; print-severity是; print-category是; }; 类别默认{ simple_log; };