#include <glib.h> #include <syslog.h> #ifndef BD_UTILS_LOGGING #define BD_UTILS_LOGGING /* These are same as syslog levels, unfortunately GObject Introspection * doesn't work with "redefined" constants so we can't use syslog * constants here. */ #define BD_UTILS_LOG_EMERG 0 #define BD_UTILS_LOG_ALERT 1 #define BD_UTILS_LOG_CRIT 2 #define BD_UTILS_LOG_ERR 3 #define BD_UTILS_LOG_WARNING 4 #define BD_UTILS_LOG_NOTICE 5 #define BD_UTILS_LOG_INFO 6 #define BD_UTILS_LOG_DEBUG 7 /** * BDUtilsLogFunc: * @level: log level (as understood by syslog(3)) * @msg: log message * * Function type for logging function used by the libblockdev's exec utils to * log the information about program executing. */ typedef void (*BDUtilsLogFunc) (gint level, const gchar *msg); gboolean bd_utils_init_logging (BDUtilsLogFunc new_log_func, GError **error); void bd_utils_set_log_level (gint level); void bd_utils_log (gint level, const gchar *msg); void bd_utils_log_format (gint level, const gchar *format, ...) G_GNUC_PRINTF (2, 3); void bd_utils_log_stdout (gint level, const gchar *msg); #endif /* BD_UTILS_LOGGING */
|