aboutsummaryrefslogtreecommitdiff
path: root/log.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-03-08 16:28:56 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-03-08 16:28:56 +0000
commit77603c4f2de1961b3da141b3e6e4ce2f983365d4 (patch)
tree4ea1533af8574a91a074fbebea204380f5e00dc8 /log.c
parent7019f77c05f45ea9267f7e768d0abb0b6a928a25 (diff)
parent9880114aff0b48649f00266125da1dc3c94a70eb (diff)
downloadrtmux-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.c116
1 files changed, 21 insertions, 95 deletions
diff --git a/log.c b/log.c
index dbf9ee15..7ef70ab6 100644
--- a/log.c
+++ b/log.c
@@ -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);
}