aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man/strongswan.conf.5.in8
-rw-r--r--src/charon/charon.c8
2 files changed, 15 insertions, 1 deletions
diff --git a/man/strongswan.conf.5.in b/man/strongswan.conf.5.in
index 75398919f..05493ec75 100644
--- a/man/strongswan.conf.5.in
+++ b/man/strongswan.conf.5.in
@@ -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
diff --git a/src/charon/charon.c b/src/charon/charon.c
index 7a269d7f0..6dbb0b592 100644
--- a/src/charon/charon.c
+++ b/src/charon/charon.c
@@ -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))