+ va_start(ap, msg);
+ elog(LOG_CRIT, errno_value, msg, ap);
+ va_end(ap);
+ if(getenv("DISORDER_FATAL_ABORT")) abort();
+ exitfn(EXIT_FAILURE);
+}
+
+/** @brief Log an error */
+void disorder_error(int errno_value, const char *msg, ...) {
+ va_list ap;
+
+ va_start(ap, msg);
+ elog(LOG_ERR, errno_value, msg, ap);
+ va_end(ap);
+}
+
+/** @brief Log an informational message */
+void disorder_info(const char *msg, ...) {
+ va_list ap;
+
+ va_start(ap, msg);
+ elog(LOG_INFO, 0, msg, ap);
+ va_end(ap);
+}