X-Git-Url: https://the.earth.li/gitweb/?p=onak.git;a=blobdiff_plain;f=log.h;h=b2c72702022c1241c8b3439451c42fa0bcf9817d;hp=ed2818f29e8b4b3d929cb2c6b8b63d2439b7e263;hb=76f079e5ebdb34acaaa2462a8d915ee06d3c8425;hpb=3b5b9db0bc2dbe93b3b79e722997606c71ecafb9 diff --git a/log.h b/log.h index ed2818f..b2c7270 100644 --- a/log.h +++ b/log.h @@ -1,14 +1,36 @@ /* * log.h - Simple logging framework. * - * Jonathan McDowell + * Copyright 2003 Jonathan McDowell * - * Copyright 2003 Project Purple + * 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; version 2 of the License. + * + * 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 __LOG_H__ #define __LOG_H__ +#include + +#define log_assert(expr) \ + if (!(expr)) { \ + logthing(LOGTHING_CRITICAL, \ + "Assertion %s failed in %s, line %d", \ + #expr, \ + __FILE__, \ + __LINE__); \ + } \ + assert(expr) + /* * loglevels - levels of severity for a log entry * @@ -65,6 +87,14 @@ void cleanuplogthing(void); */ loglevels setlogthreshold(loglevels loglevel); +/* + * getlogthreshold - get the threshold for log output + * + * Returns the threshold for log output; anything logged with a log level + * lower than this will be silently dropped. + */ +loglevels getlogthreshold(void); + /* * logthing - output a log entry * @loglevel: The level of the log.