]> the.earth.li Git - onak.git/blobdiff - log.h
Bump debhelper compat level to 13
[onak.git] / log.h
diff --git a/log.h b/log.h
index ed2818f29e8b4b3d929cb2c6b8b63d2439b7e263..b2c72702022c1241c8b3439451c42fa0bcf9817d 100644 (file)
--- a/log.h
+++ b/log.h
@@ -1,14 +1,36 @@
 /*
  * log.h - Simple logging framework.
  *
- * Jonathan McDowell <noodles@earth.li>
+ * Copyright 2003 Jonathan McDowell <noodles@earth.li>
  *
- * 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 <https://www.gnu.org/licenses/>.
  */
 
 #ifndef __LOG_H__
 #define __LOG_H__
 
+#include <assert.h>
+
+#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.