diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-03-08 16:28:56 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2014-03-08 16:28:56 +0000 |
commit | 77603c4f2de1961b3da141b3e6e4ce2f983365d4 (patch) | |
tree | 4ea1533af8574a91a074fbebea204380f5e00dc8 /log.c | |
parent | 7019f77c05f45ea9267f7e768d0abb0b6a928a25 (diff) | |
parent | 9880114aff0b48649f00266125da1dc3c94a70eb (diff) | |
download | rtmux-77603c4f2de1961b3da141b3e6e4ce2f983365d4.tar.gz rtmux-77603c4f2de1961b3da141b3e6e4ce2f983365d4.tar.bz2 rtmux-77603c4f2de1961b3da141b3e6e4ce2f983365d4.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'log.c')
-rw-r--r-- | log.c | 116 |
1 files changed, 21 insertions, 95 deletions
@@ -22,36 +22,28 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <syslog.h> -#include <time.h> #include "tmux.h" -/* Log file, if needed. */ -FILE *log_file; +FILE *log_file; -/* Debug level. */ -int log_level = 0; - -void log_event_cb(int, const char *); -void log_vwrite(const char *, va_list); -__dead void log_vfatal(const char *, va_list); +void log_event_cb(int, const char *); +void log_vwrite(const char *, va_list); /* Log callback for libevent. */ void log_event_cb(unused int severity, const char *msg) { - log_warnx("%s", msg); + log_debug("%s", msg); } /* Open logging to file. */ void -log_open(int level, const char *path) +log_open(const char *path) { log_file = fopen(path, "w"); if (log_file == NULL) return; - log_level = level; setlinebuf(log_file); event_set_log_callback(log_event_cb); @@ -65,6 +57,7 @@ log_close(void) { if (log_file != NULL) fclose(log_file); + log_file = NULL; event_set_log_callback(NULL); } @@ -86,24 +79,9 @@ log_vwrite(const char *msg, va_list ap) free(fmt); } -/* Log a warning with error string. */ -void printflike1 -log_warn(const char *msg, ...) -{ - va_list ap; - char *fmt; - - va_start(ap, msg); - if (asprintf(&fmt, "%s: %s", msg, strerror(errno)) == -1) - exit(1); - log_vwrite(fmt, ap); - free(fmt); - va_end(ap); -} - -/* Log a warning. */ +/* Log a debug message. */ void printflike1 -log_warnx(const char *msg, ...) +log_debug(const char *msg, ...) { va_list ap; @@ -112,82 +90,30 @@ log_warnx(const char *msg, ...) va_end(ap); } -/* Log an informational message. */ -void printflike1 -log_info(const char *msg, ...) -{ - va_list ap; - - if (log_level > -1) { - va_start(ap, msg); - log_vwrite(msg, ap); - va_end(ap); - } -} - -/* Log a debug message. */ -void printflike1 -log_debug(const char *msg, ...) -{ - va_list ap; - - if (log_level > 0) { - va_start(ap, msg); - log_vwrite(msg, ap); - va_end(ap); - } -} - -/* Log a debug message at level 2. */ -void printflike1 -log_debug2(const char *msg, ...) -{ - va_list ap; - - if (log_level > 1) { - va_start(ap, msg); - log_vwrite(msg, ap); - va_end(ap); - } -} - -/* Log a critical error, with error string if necessary, and die. */ -__dead void -log_vfatal(const char *msg, va_list ap) -{ - char *fmt; - - if (errno != 0) { - if (asprintf(&fmt, "fatal: %s: %s", msg, strerror(errno)) == -1) - exit(1); - log_vwrite(fmt, ap); - } else { - if (asprintf(&fmt, "fatal: %s", msg) == -1) - exit(1); - log_vwrite(fmt, ap); - } - free(fmt); - - exit(1); -} - -/* Log a critical error, with error string, and die. */ +/* Log a critical error with error string and die. */ __dead void printflike1 log_fatal(const char *msg, ...) { - va_list ap; + char *fmt; + va_list ap; va_start(ap, msg); - log_vfatal(msg, ap); + if (asprintf(&fmt, "fatal: %s: %s", msg, strerror(errno)) == -1) + exit(1); + log_vwrite(fmt, ap); + exit(1); } /* Log a critical error and die. */ __dead void printflike1 log_fatalx(const char *msg, ...) { - va_list ap; + char *fmt; + va_list ap; - errno = 0; va_start(ap, msg); - log_vfatal(msg, ap); + if (asprintf(&fmt, "fatal: %s", msg) == -1) + exit(1); + log_vwrite(fmt, ap); + exit(1); } |