Option added to set identifier for syslog(3) logging.
authorTobias Brunner <tobias@strongswan.org>
Fri, 20 Apr 2012 07:21:03 +0000 (09:21 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 20 Apr 2012 07:26:12 +0000 (09:26 +0200)
This identifier is added to each log message by syslog.

man/strongswan.conf.5.in
src/charon/charon.c

index 7539891..05493ec 100644 (file)
@@ -853,6 +853,14 @@ identifier for each IKE_SA.
 Prefix each log entry with a timestamp. The option accepts a format string as
 passed to
 .BR strftime (3).
+.TP
+.BR charon.syslog.identifier
+Global identifier used for an
+.BR openlog (3)
+call, prepended to each log message by syslog.  If not configured,
+.BR openlog (3)
+is not called, so the value will depend on system defaults (often the program
+name).
 
 .SS Subsystems
 .TP
index 7a269d7..6dbb0b5 100644 (file)
@@ -291,7 +291,7 @@ static void initialize_loggers(bool use_stderr, level_t levels[])
        sys_logger_t *sys_logger;
        file_logger_t *file_logger;
        enumerator_t *enumerator;
-       char *facility, *filename;
+       char *identifier, *facility, *filename;
        int loggers_defined = 0;
        debug_t group;
        level_t  def;
@@ -299,6 +299,12 @@ static void initialize_loggers(bool use_stderr, level_t levels[])
        FILE *file;
 
        /* setup sysloggers */
+       identifier = lib->settings->get_str(lib->settings,
+                                                                               "charon.syslog.identifier", NULL);
+       if (identifier)
+       {       /* set identifier, which is prepended to each log line */
+               openlog(identifier, 0, 0);
+       }
        enumerator = lib->settings->create_section_enumerator(lib->settings,
                                                                                                                  "charon.syslog");
        while (enumerator->enumerate(enumerator, &facility))