2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-24 19:18:50 +00:00
bind/lib/ns/log.c
Evan Hunt 70cc3f803e set up hooks.c to enable setting hook points and loading modules
- move hooks.h to public include directory
- ns_hooktable_init() initializes a hook table. if NULL is passed in, it
  initializes the global hook table
- ns_hooktable_save() saves a pointer to the current global hook table.
- ns_hooktable_reset() replaces the global hook table with different
  one
- ns_hook_add() adds hooks at specified hook points in a hook table (or
  the global hook table if the specified table is NULL)
- load and unload functions support dlopen() of hook modules (this is
  adapted from dyndb and not yet functional)
- began adding new hook points to query.c
2018-12-06 10:29:05 -08:00

71 lines
1.6 KiB
C

/*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#include <config.h>
#include <isc/result.h>
#include <isc/util.h>
#include <ns/log.h>
#ifndef ISC_FACILITY
#define ISC_FACILITY LOG_DAEMON
#endif
/*%
* When adding a new category, be sure to add the appropriate
* \#define to <ns/log.h>
*/
LIBNS_EXTERNAL_DATA isc_logcategory_t ns_categories[] = {
{ "client", 0 },
{ "network", 0 },
{ "update", 0 },
{ "queries", 0 },
{ "update-security", 0 },
{ "query-errors", 0 },
{ "trust-anchor-telemetry", 0 },
{ "serve-stale", 0 },
{ NULL, 0 }
};
/*%
* When adding a new module, be sure to add the appropriate
* \#define to <ns/log.h>.
*/
LIBNS_EXTERNAL_DATA isc_logmodule_t ns_modules[] = {
{ "ns/client", 0 },
{ "ns/query", 0 },
{ "ns/interfacemgr", 0 },
{ "ns/update", 0 },
{ "ns/xfer-in", 0 },
{ "ns/xfer-out", 0 },
{ "ns/notify", 0 },
{ "ns/hooks", 0 },
{ NULL, 0 }
};
LIBNS_EXTERNAL_DATA isc_log_t *ns_lctx = NULL;
void
ns_log_init(isc_log_t *lctx) {
REQUIRE(lctx != NULL);
isc_log_registercategories(lctx, ns_categories);
isc_log_registermodules(lctx, ns_modules);
}
void
ns_log_setcontext(isc_log_t *lctx) {
ns_lctx = lctx;
}