X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Flogging.c;h=59d74d912b5be8b2d4d47f86403fcfcbba999ad9;hp=983bdfadeb2129ee63eedcbafb657a66e6f9ede6;hb=e26dd564163fca001ab1694a51e7412f9ac970de;hpb=cc603e2765f17555ecdc2b74c27ebf96e6691bf6 diff --git a/src/logging.c b/src/logging.c index 983bdfad..59d74d91 100644 --- a/src/logging.c +++ b/src/logging.c @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: logging.c,v 1.1 2002/04/13 10:25:38 zarq Exp $ + $Id: logging.c,v 1.4 2002/04/13 11:07:12 zarq Exp $ */ #include "config.h" @@ -44,7 +44,7 @@ int log_compare(const void *a, const void *b) return 0; } -void log_message(int level, int priority, char *fmt, ...) +void log(int level, int priority, char *fmt, ...) { avl_node_t *avlnode; va_list args; @@ -79,8 +79,25 @@ void log_default(int level, int priority, char *fmt, va_list ap) void log_syslog(int level, int priority, char *fmt, va_list ap) { - int priorities[] = { LOG_DEBUG, LOG_INFO, LOG_NOTICE, LOG_ERR, LOG_CRIT }; + const int priorities[] = { LOG_DEBUG, LOG_INFO, LOG_NOTICE, LOG_ERR, LOG_CRIT }; if(debug_lvl >= level) vsyslog(priorities[priority], fmt, ap); } + +void tinc_syslog(int priority, char *fmt, ...) +{ + /* Mapping syslog prio -> tinc prio */ + const int priorities[] = { TLOG_CRITICAL, TLOG_CRITICAL, TLOG_CRITICAL, TLOG_ERROR, + TLOG_NOTICE, TLOG_NOTICE, TLOG_INFO, TLOG_DEBUG }; + avl_node_t *avlnode; + va_list args; + + va_start(args, fmt); + for(avlnode = log_hooks_tree->head; avlnode; avlnode = avlnode->next) + { + assert(avlnode->data); + ((log_function_t*)(avlnode->data))(0, priorities[priority], fmt, args); + } + va_end(args); +}