1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /* Copyright 2001,2002,2003 Roger Dingledine, Matej Pfajfar. */
- /* See LICENSE for licensing information */
- /* $Id$ */
- /**
- * /file log.h
- *
- * /brief Headers for logging functions.
- **/
- #ifndef __LOG_H
- /**
- * \file log.h
- * \brief Headers for log.c
- */
- #ifdef HAVE_SYSLOG_H
- #include <syslog.h>
- #define LOG_WARN LOG_WARNING
- #else
- /** Debug-level severity: for hyper-verbose messages of no interest to
- * anybody but developers. */
- #define LOG_DEBUG 0
- /** Info-level severity: for messages that appear frequently during normal
- * operation. */
- #define LOG_INFO 1
- /** Notice-level severity: for messages that appear infrequently
- * during normal operation; that the user will probably care about;
- * and that are not errors.
- */
- #define LOG_NOTICE 2
- /** Warn-level severity: for messages that only appear when something has gone
- * wrong. */
- #define LOG_WARN 3
- /** Warn-level severity: for messages that only appear when something has gone
- * very wrong, and the Tor process can no longer proceed. */
- #define LOG_ERR 4
- #endif
- /* magic to make GCC check for proper format strings. */
- #ifdef __GNUC__
- #define CHECK_PRINTF(formatIdx, firstArg) \
- __attribute__ ((format (printf, formatIdx, firstArg)))
- #else
- #define CHECK_PRINTF(formatIdx, firstArg)
- #endif
- int parse_log_level(const char *level);
- void add_stream_log(int severityMin, int severityMax, const char *name, FILE *stream);
- int add_file_log(int severityMin, int severityMax, const char *filename);
- int get_min_log_level(void);
- void close_logs();
- void reset_logs();
- /* Outputs a message to stdout */
- void _log(int severity, const char *format, ...) CHECK_PRINTF(2,3);
- #ifdef __GNUC__
- void _log_fn(int severity, const char *funcname, const char *format, ...)
- CHECK_PRINTF(3,4);
- /** Log a message at level <b>severity</b>, using a pretty-printed version
- * of the current function name. */
- #define log_fn(severity, args...) \
- _log_fn(severity, __PRETTY_FUNCTION__, args)
- #else
- #define log_fn _log
- #endif
- #define log _log /* hack it so we don't conflict with log() as much */
- # define __LOG_H
- #endif
- /*
- Local Variables:
- mode:c
- indent-tabs-mode:nil
- c-basic-offset:2
- End:
- */
|