X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=log.h;h=867d6ea4e52ead5e51da35451c803b31d51f9755;hb=2826e0222d6ad5148384d5d39ea748277093ab21;hp=ed2818f29e8b4b3d929cb2c6b8b63d2439b7e263;hpb=3b5b9db0bc2dbe93b3b79e722997606c71ecafb9;p=onak.git diff --git a/log.h b/log.h index ed2818f..867d6ea 100644 --- a/log.h +++ b/log.h @@ -1,14 +1,37 @@ /* * 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, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #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 +88,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.