Configuring and Managing MPE/iX Internet Services (August 2002)

Appendix C
BIND 8.1 Enhanced Features
BIND 8 Highlights
225
If you are using syslog, then the syslog.conf priorities will also determine what eventually passes through.
For example, defining a channel facility and severity as daemon and debug but only logging daemon.warning
via syslog.conf will cause messages of severity information and notice to be dropped. If the situation were
reversed, with named writing messages of only warning or higher, then syslog would print all messages it
received from the channel.
The server can supply extensive debugging information when it is in debugging mode. If the servers global
debug level is greater than zero, then debugging mode will be active. The global debug level is set either by
starting the server with the -d flag followed by a positive integer, or by sending the server the SIGUSR1
signal (for example, by using ndc trace). The global debug level can be set to zero, and debugging mode
turned off, by sending the server the SIGUSR2 signal (ndc notrace. All debugging messages in the server
have a debug level, and higher debug levels give more detailed output. Channels that specify a specific debug
severity, for example,
channel specific_debug_level {
file foo;
severity debug 3;
};
will get debugging output of level 3 or less any time the server is in debugging mode, regardless of the global
debugging level. Channels with dynamic severity use the servers global level to determine what messages to
print.
If print-time has been turned on, then the date and time will be logged. print-time may be specified for a
syslog channel, but is usually pointless since syslog also prints the date and time. If print-category is
requested, then the category of the message will be logged as well. Finally, if print-severity is on, then the
severity level of the message will be logged. The print options may be used in any combination, and will
always be printed in the following order: time, category, and severity. Here is an example where all three print
options are on:
28-Apr-1997 15:05:32.863 default: notice: Ready to answer queries.
There are four predefined channels that are used for nameds default logging as follows. How they are used is
described in the next section, The category phrase.
channel default_syslog {
syslog daemon; # send to syslogs daemon facility
severity info; # only send priority info and higher
};
channel default_debug {
file named.run; # write to named.run in the working directory
# Note: stderr is used instead of named.run
# if the server is started with the -f option.
severity dynamic; # log at the servers current debug level };
channel default_stderr { # writes to stderr
file <stderr>; # this is illustrative only; theres currently
# no way of specifying an internal file
# descriptor in the configuration language.
severity info; # only send priority info and higher
};
channel null {
null; # toss anything sent to this channel
};
Once a channel is defined, it cannot be redefined. Thus you cannot alter the built-in channels directly, but you
can modify the default logging by pointing categories at channels you have defined.
The Category Phrase
There are many categories, so you can send the logs you want to see wherever you want, without seeing logs
you dont want. If you dont specify a list of channels for a category, then log messages in that category will be
sent to the default category instead. If you dont specify a default category, the following default is used: