chiark / gitweb /
main: run crash shell as subprocess, so that we can gdb pid 1
[elogind.git] / log.h
diff --git a/log.h b/log.h
index cd78a0a50bacba172abfb7d5ca7dee785a09b93a..f424c191fa30c99708fb7ab4efb1d9eadbdf9391 100644 (file)
--- a/log.h
+++ b/log.h
 
 #include "macro.h"
 
+typedef enum LogTarget{
+        LOG_TARGET_CONSOLE,
+        LOG_TARGET_SYSLOG,
+        LOG_TARGET_KMSG,
+        _LOG_TARGET_MAX,
+        _LOG_TARGET_INVALID = -1
+}  LogTarget;
+
+void log_set_target(LogTarget target);
+void log_set_max_level(int level);
+
+int log_set_target_from_string(const char *e);
+int log_set_max_level_from_string(const char *e);
+
+LogTarget log_get_target(void);
+int log_get_max_level(void);
+
+void log_close_kmsg(void);
+int log_open_kmsg(void);
+void log_close_syslog(void);
+int log_open_syslog(void);
+
+void log_parse_environment(void);
+
 void log_meta(
         int level,
         const char*file,
         int line,
         const char *func,
-        const char *format, ...) __printf_attr(5,6);
+        const char *format, ...) _printf_attr(5,6);
 
 #define log_debug(...)   log_meta(LOG_DEBUG,   __FILE__, __LINE__, __func__, __VA_ARGS__)
 #define log_info(...)    log_meta(LOG_INFO,    __FILE__, __LINE__, __func__, __VA_ARGS__)
@@ -39,4 +63,7 @@ void log_meta(
 #define log_warning(...) log_meta(LOG_WARNING, __FILE__, __LINE__, __func__, __VA_ARGS__)
 #define log_error(...)   log_meta(LOG_ERR,     __FILE__, __LINE__, __func__, __VA_ARGS__)
 
+const char *log_target_to_string(LogTarget target);
+LogTarget log_target_from_string(const char *s);
+
 #endif