log: when opening the log file fails, fall back to syslog logging.
authorMichael Adam <obnox@samba.org>
Sun, 17 Jan 2010 00:10:21 +0000 (01:10 +0100)
committerMichael Adam <obnox@samba.org>
Sun, 17 Jan 2010 00:10:21 +0000 (01:10 +0100)
src/log.c

index edb709f731cd8aca36393610a1f50a7d91ff2f24..94d38721716cfe09df8512f156c4c01127794858 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -259,11 +259,20 @@ int setup_logging (void)
                         openlog ("tinyproxy", LOG_PID, LOG_USER);
         } else {
                 if (open_log_file (config.logf_name) < 0) {
-                        fprintf (stderr,
-                                 "%s: Could not create log file.\n", PACKAGE);
-                        goto done;
+                        /*
+                         * If opening the log file fails, we try
+                         * to fall back to syslog logging...
+                         */
+                        config.syslog = TRUE;
+
+                        log_message (LOG_CRIT, "ERROR: Could not create log "
+                                     "file %s: %s.\n", PACKAGE,
+                                     config.logf_name, strerror (errno));
+                        log_message (LOG_CRIT,
+                                     "Falling back to syslog logging\n");
+                } else {
+                        config.syslog = FALSE;
                 }
-                config.syslog = FALSE;  /* disable syslog */
         }
 
         logging_initialized = TRUE;