/contrib/bind9/lib/dns/log.c

https://bitbucket.org/freebsd/freebsd-head/ · C · 100 lines · 61 code · 12 blank · 27 comment · 1 complexity · 51e4a57988352906601829de78463d9b MD5 · raw file

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