/* ctdb logging code Copyright (C) Andrew Tridgell 2008 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see . */ #ifndef _CTDB_LOGGING_H_ #define _CTDB_LOGGING_H_ #include #include #include #include extern const char *debug_extra; enum debug_level { DEBUG_ERR = 0, DEBUG_WARNING = 1, DEBUG_NOTICE = 2, DEBUG_INFO = 3, DEBUG_DEBUG = 4, }; /* These are used in many places, so define them here to avoid churn */ #define DEBUG_ALERT DEBUG_ERR #define DEBUG_CRIT DEBUG_ERR const char *get_debug_by_level(int32_t level); bool parse_debug(const char *str, int32_t *level); void print_debug_levels(FILE *stream); bool ctdb_logging_init(TALLOC_CTX *mem_ctx, const char *logging); typedef int (*ctdb_log_setup_fn_t)(TALLOC_CTX *mem_ctx, const char *logging, const char *app_name); void ctdb_log_register_backend(const char *prefix, ctdb_log_setup_fn_t init); void ctdb_log_init_file(void); void ctdb_log_init_syslog(void); #endif /* _CTDB_LOGGING_H_ */