mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
Describe ISC_LOG_DEBUGONLY.
Fixed some examples. Updated the colon-space bit of categories/modules; they are no longer used. Fixed a couple of minor typos.
This commit is contained in:
parent
7fe1fdea0d
commit
ed301acd34
@ -139,7 +139,7 @@ applies to redefinitions of the predefined channels, with one
|
|||||||
exception: redefining default_stderr will change the default
|
exception: redefining default_stderr will change the default
|
||||||
destination of messages, as explained in more detail in a few paragraphs.
|
destination of messages, as explained in more detail in a few paragraphs.
|
||||||
|
|
||||||
Channels can additionally have any of four options associated with
|
Channels can additionally have any of five options associated with
|
||||||
them. The following options are listed in the order which their
|
them. The following options are listed in the order which their
|
||||||
corresponding print strings appear in a log message:
|
corresponding print strings appear in a log message:
|
||||||
|
|
||||||
@ -148,9 +148,16 @@ corresponding print strings appear in a log message:
|
|||||||
ISC_LOG_PRINTMODULE -- The module name.
|
ISC_LOG_PRINTMODULE -- The module name.
|
||||||
ISC_LOG_PRINTLEVEL -- The level.
|
ISC_LOG_PRINTLEVEL -- The level.
|
||||||
|
|
||||||
|
You can set all four of those options with ISC_LOG_PRINTALL.
|
||||||
|
|
||||||
Syslog channels do not need ISC_LOG_PRINTTIME, but it is usally a good
|
Syslog channels do not need ISC_LOG_PRINTTIME, but it is usally a good
|
||||||
idea for file and file descriptor feeds.
|
idea for file and file descriptor feeds.
|
||||||
|
|
||||||
|
The additional option does not affect formatting. It is
|
||||||
|
ISC_LOG_DEBUGONLY, and marks a channel as only being eligible for
|
||||||
|
messages when the debugging level is non-zero. It acts like the
|
||||||
|
null channel when the debugging level is zero.
|
||||||
|
|
||||||
Now with these objects -- the category, module, and channel -- you can
|
Now with these objects -- the category, module, and channel -- you can
|
||||||
actually direct messages to your desired destinations. As shown in
|
actually direct messages to your desired destinations. As shown in
|
||||||
the next section, you associate the category/module pair with a
|
the next section, you associate the category/module pair with a
|
||||||
@ -216,7 +223,7 @@ associated with a particular category but you know the one you want to
|
|||||||
shut up. Because of this, it is likely that specifying a null
|
shut up. Because of this, it is likely that specifying a null
|
||||||
destination _will_ block other channels that also specify a particular
|
destination _will_ block other channels that also specify a particular
|
||||||
category/module pair, but the exact mechanism has not yet been
|
category/module pair, but the exact mechanism has not yet been
|
||||||
determine.
|
determined.
|
||||||
|
|
||||||
No attempt is made to filter out duplicate destinations, so it is
|
No attempt is made to filter out duplicate destinations, so it is
|
||||||
certainly possible to define things such that a single log gets more
|
certainly possible to define things such that a single log gets more
|
||||||
@ -279,8 +286,8 @@ descriptor log, and syslog.
|
|||||||
&destination, ISC_LOG_PRINTTIME) != ISC_R_SUCCESS)
|
&destination, ISC_LOG_PRINTTIME) != ISC_R_SUCCESS)
|
||||||
oops_it_didnt_work();
|
oops_it_didnt_work();
|
||||||
|
|
||||||
destination.facility = LOG_ERR
|
destination.facility = LOG_ERR;
|
||||||
if (isc_log_createchannel(lctx, "sample2" ISC_LOG_SYSLOG, ISC_LOG_ERROR,
|
if (isc_log_createchannel(lctx, "sample3" ISC_LOG_SYSLOG, ISC_LOG_ERROR,
|
||||||
&destination, 0) != ISC_R_SUCCESS)
|
&destination, 0) != ISC_R_SUCCESS)
|
||||||
oops_it_didnt_work();
|
oops_it_didnt_work();
|
||||||
|
|
||||||
@ -321,7 +328,8 @@ category."
|
|||||||
6) If you are sending any messages to syslog, call
|
6) If you are sending any messages to syslog, call
|
||||||
isc_log_opensyslog(). Currently the arguments to this function are
|
isc_log_opensyslog(). Currently the arguments to this function are
|
||||||
exactly the same as to syslog's openlog() function, but it is expected
|
exactly the same as to syslog's openlog() function, but it is expected
|
||||||
that this will change. This is necessary
|
that this will change when the logging library is made to work with the
|
||||||
|
system logging facility on Windows NT.
|
||||||
|
|
||||||
isc_log_opensyslog(NULL, LOG_PID, LOG_DAEMON);
|
isc_log_opensyslog(NULL, LOG_PID, LOG_DAEMON);
|
||||||
|
|
||||||
@ -376,14 +384,14 @@ logging system internally.
|
|||||||
#include <dns/log.h>
|
#include <dns/log.h>
|
||||||
|
|
||||||
isc_logcategory_t dns_categories[] = {
|
isc_logcategory_t dns_categories[] = {
|
||||||
{ "dns_general: ", 0 },
|
{ "dns_general", 0 },
|
||||||
{ "dns_database: ", 0 },
|
{ "dns_database", 0 },
|
||||||
{ "dns_security: ", 0 },
|
{ "dns_security", 0 },
|
||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
isc_logmodule_t dns_modules[] = {
|
isc_logmodule_t dns_modules[] = {
|
||||||
{ "db: ", 0 },
|
{ "db", 0 },
|
||||||
{ "rbtdb: ", 0 },
|
{ "rbtdb", 0 },
|
||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -433,9 +441,6 @@ like isc_result_totext(result) and dns_result_totext(result).
|
|||||||
|
|
||||||
THINGS I AM NOT KEEN ABOUT
|
THINGS I AM NOT KEEN ABOUT
|
||||||
|
|
||||||
The category/module names passed into the registration functions need
|
|
||||||
to have a colon-space (": ") at the end of each name.
|
|
||||||
|
|
||||||
I am not happy that using a null channel for a category/module pair
|
I am not happy that using a null channel for a category/module pair
|
||||||
has no effect on other associations with that pair. It seems to me
|
has no effect on other associations with that pair. It seems to me
|
||||||
that it would be nice to say "send all DATABASE category messages to
|
that it would be nice to say "send all DATABASE category messages to
|
||||||
|
Loading…
x
Reference in New Issue
Block a user