1*00b67f09SDavid van Moolenbroek /* $NetBSD: log.c,v 1.8 2015/07/08 17:28:58 christos Exp $ */
2*00b67f09SDavid van Moolenbroek
3*00b67f09SDavid van Moolenbroek /*
4*00b67f09SDavid van Moolenbroek * Copyright (C) 2004-2007, 2009, 2011-2014 Internet Systems Consortium, Inc. ("ISC")
5*00b67f09SDavid van Moolenbroek * Copyright (C) 1999-2001, 2003 Internet Software Consortium.
6*00b67f09SDavid van Moolenbroek *
7*00b67f09SDavid van Moolenbroek * Permission to use, copy, modify, and/or distribute this software for any
8*00b67f09SDavid van Moolenbroek * purpose with or without fee is hereby granted, provided that the above
9*00b67f09SDavid van Moolenbroek * copyright notice and this permission notice appear in all copies.
10*00b67f09SDavid van Moolenbroek *
11*00b67f09SDavid van Moolenbroek * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12*00b67f09SDavid van Moolenbroek * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13*00b67f09SDavid van Moolenbroek * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
14*00b67f09SDavid van Moolenbroek * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15*00b67f09SDavid van Moolenbroek * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16*00b67f09SDavid van Moolenbroek * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*00b67f09SDavid van Moolenbroek * PERFORMANCE OF THIS SOFTWARE.
18*00b67f09SDavid van Moolenbroek */
19*00b67f09SDavid van Moolenbroek
20*00b67f09SDavid van Moolenbroek /* Id: log.c,v 1.49 2011/10/13 22:48:24 tbox Exp */
21*00b67f09SDavid van Moolenbroek
22*00b67f09SDavid van Moolenbroek /*! \file */
23*00b67f09SDavid van Moolenbroek
24*00b67f09SDavid van Moolenbroek /* Principal Authors: DCL */
25*00b67f09SDavid van Moolenbroek
26*00b67f09SDavid van Moolenbroek #include <config.h>
27*00b67f09SDavid van Moolenbroek
28*00b67f09SDavid van Moolenbroek #include <isc/util.h>
29*00b67f09SDavid van Moolenbroek
30*00b67f09SDavid van Moolenbroek #include <dns/log.h>
31*00b67f09SDavid van Moolenbroek
32*00b67f09SDavid van Moolenbroek /*%
33*00b67f09SDavid van Moolenbroek * When adding a new category, be sure to add the appropriate
34*00b67f09SDavid van Moolenbroek * \#define to <dns/log.h>.
35*00b67f09SDavid van Moolenbroek */
36*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = {
37*00b67f09SDavid van Moolenbroek { "notify", 0 },
38*00b67f09SDavid van Moolenbroek { "database", 0 },
39*00b67f09SDavid van Moolenbroek { "security", 0 },
40*00b67f09SDavid van Moolenbroek { "_placeholder", 0 },
41*00b67f09SDavid van Moolenbroek { "dnssec", 0 },
42*00b67f09SDavid van Moolenbroek { "resolver", 0 },
43*00b67f09SDavid van Moolenbroek { "xfer-in", 0 },
44*00b67f09SDavid van Moolenbroek { "xfer-out", 0 },
45*00b67f09SDavid van Moolenbroek { "dispatch", 0 },
46*00b67f09SDavid van Moolenbroek { "lame-servers", 0 },
47*00b67f09SDavid van Moolenbroek { "delegation-only", 0 },
48*00b67f09SDavid van Moolenbroek { "edns-disabled", 0 },
49*00b67f09SDavid van Moolenbroek { "rpz", 0 },
50*00b67f09SDavid van Moolenbroek { "rate-limit", 0 },
51*00b67f09SDavid van Moolenbroek { "cname", 0 },
52*00b67f09SDavid van Moolenbroek { NULL, 0 }
53*00b67f09SDavid van Moolenbroek };
54*00b67f09SDavid van Moolenbroek
55*00b67f09SDavid van Moolenbroek /*%
56*00b67f09SDavid van Moolenbroek * When adding a new module, be sure to add the appropriate
57*00b67f09SDavid van Moolenbroek * \#define to <dns/log.h>.
58*00b67f09SDavid van Moolenbroek */
59*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = {
60*00b67f09SDavid van Moolenbroek { "dns/db", 0 },
61*00b67f09SDavid van Moolenbroek { "dns/rbtdb", 0 },
62*00b67f09SDavid van Moolenbroek { "dns/rbtdb64", 0 },
63*00b67f09SDavid van Moolenbroek { "dns/rbt", 0 },
64*00b67f09SDavid van Moolenbroek { "dns/rdata", 0 },
65*00b67f09SDavid van Moolenbroek { "dns/master", 0 },
66*00b67f09SDavid van Moolenbroek { "dns/message", 0 },
67*00b67f09SDavid van Moolenbroek { "dns/cache", 0 },
68*00b67f09SDavid van Moolenbroek { "dns/config", 0 },
69*00b67f09SDavid van Moolenbroek { "dns/resolver", 0 },
70*00b67f09SDavid van Moolenbroek { "dns/zone", 0 },
71*00b67f09SDavid van Moolenbroek { "dns/journal", 0 },
72*00b67f09SDavid van Moolenbroek { "dns/adb", 0 },
73*00b67f09SDavid van Moolenbroek { "dns/xfrin", 0 },
74*00b67f09SDavid van Moolenbroek { "dns/xfrout", 0 },
75*00b67f09SDavid van Moolenbroek { "dns/acl", 0 },
76*00b67f09SDavid van Moolenbroek { "dns/validator", 0 },
77*00b67f09SDavid van Moolenbroek { "dns/dispatch", 0 },
78*00b67f09SDavid van Moolenbroek { "dns/request", 0 },
79*00b67f09SDavid van Moolenbroek { "dns/masterdump", 0 },
80*00b67f09SDavid van Moolenbroek { "dns/tsig", 0 },
81*00b67f09SDavid van Moolenbroek { "dns/tkey", 0 },
82*00b67f09SDavid van Moolenbroek { "dns/sdb", 0 },
83*00b67f09SDavid van Moolenbroek { "dns/diff", 0 },
84*00b67f09SDavid van Moolenbroek { "dns/hints", 0 },
85*00b67f09SDavid van Moolenbroek { "dns/acache", 0 },
86*00b67f09SDavid van Moolenbroek { "dns/dlz", 0 },
87*00b67f09SDavid van Moolenbroek { "dns/dnssec", 0 },
88*00b67f09SDavid van Moolenbroek { "dns/crypto", 0 },
89*00b67f09SDavid van Moolenbroek { "dns/packets", 0 },
90*00b67f09SDavid van Moolenbroek { NULL, 0 }
91*00b67f09SDavid van Moolenbroek };
92*00b67f09SDavid van Moolenbroek
93*00b67f09SDavid van Moolenbroek LIBDNS_EXTERNAL_DATA isc_log_t *dns_lctx = NULL;
94*00b67f09SDavid van Moolenbroek
95*00b67f09SDavid van Moolenbroek void
dns_log_init(isc_log_t * lctx)96*00b67f09SDavid van Moolenbroek dns_log_init(isc_log_t *lctx) {
97*00b67f09SDavid van Moolenbroek REQUIRE(lctx != NULL);
98*00b67f09SDavid van Moolenbroek
99*00b67f09SDavid van Moolenbroek isc_log_registercategories(lctx, dns_categories);
100*00b67f09SDavid van Moolenbroek isc_log_registermodules(lctx, dns_modules);
101*00b67f09SDavid van Moolenbroek }
102*00b67f09SDavid van Moolenbroek
103*00b67f09SDavid van Moolenbroek void
dns_log_setcontext(isc_log_t * lctx)104*00b67f09SDavid van Moolenbroek dns_log_setcontext(isc_log_t *lctx) {
105*00b67f09SDavid van Moolenbroek dns_lctx = lctx;
106*00b67f09SDavid van Moolenbroek }
107