From 2edfc38b8e6043866212832b7f07619b9cb9e8e7 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Sat, 4 Nov 2017 19:40:42 +0000 Subject: [PATCH] log to stdout if not running as daemon some users want to run tinyproxy on an as-needed basis in a terminal, without setting it up permanently to run as a daemon/service. in such use case, it is very annoying that tinyproxy didn't have an option to log to stdout, so the user has to keep a second terminal open to `tail -f` the log. additionally, this precluded usage with runit service supervisor, which runs all services in foreground and creates logfiles from the service's stdout/stderr. --- src/log.c | 7 +++++-- src/main.c | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/log.c b/src/log.c index f5a0b44..2a3c6d8 100644 --- a/src/log.c +++ b/src/log.c @@ -70,7 +70,10 @@ static unsigned int logging_initialized = FALSE; /* boolean */ */ int open_log_file (const char *log_file_name) { - log_file_fd = create_file_safely (log_file_name, FALSE); + if (config.godaemon == FALSE) + log_file_fd = fileno(stdout); + else + log_file_fd = create_file_safely (log_file_name, FALSE); return log_file_fd; } @@ -79,7 +82,7 @@ int open_log_file (const char *log_file_name) */ void close_log_file (void) { - if (log_file_fd < 0) { + if (log_file_fd < 0 || log_file_fd == fileno(stdout)) { return; } diff --git a/src/main.c b/src/main.c index 50cacca..f606627 100644 --- a/src/main.c +++ b/src/main.c @@ -147,7 +147,7 @@ display_usage (void) printf ("Usage: %s [options]\n", PACKAGE); printf ("\n" "Options are:\n" - " -d Do not daemonize (run in foreground).\n" + " -d Do not daemonize (run in foreground, log to stdout).\n" " -c FILE Use an alternate configuration file.\n" " -h Display this usage information.\n" " -l Display the license.\n"