changeset 5333:55260092b094 HEAD

Fixes to handling log prefixes. imap/pop3 processes now log the mail_log_prefix even when started with --exec-mail.
author Timo Sirainen <tss@iki.fi>
date Thu, 15 Mar 2007 17:53:00 +0200
parents 1a3cdab55b7b
children 8d9234a26a3f
files src/auth/main.c src/deliver/deliver.c src/imap/main.c src/master/mail-process.c src/master/main.c src/pop3/main.c
diffstat 6 files changed, 37 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/main.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/auth/main.c	Thu Mar 15 17:53:00 2007 +0200
@@ -59,7 +59,7 @@
 				     env == NULL ? LOG_MAIL : atoi(env));
 	} else {
 		/* log to file or stderr */
-		i_set_failure_file(getenv("LOGFILE"), "dovecot-auth");
+		i_set_failure_file(getenv("LOGFILE"), "dovecot-auth: ");
 	}
 
 	if (getenv("INFOLOGFILE") != NULL)
--- a/src/deliver/deliver.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/deliver/deliver.c	Thu Mar 15 17:53:00 2007 +0200
@@ -433,7 +433,7 @@
 		i_set_failure_syslog(prefix, LOG_NDELAY, facility);
 	} else {
 		/* log to file or stderr */
-		i_set_failure_file(log_path, prefix);
+		i_set_failure_file(log_path, t_strconcat(prefix, ": ", NULL));
 	}
 
 	log_path = getenv("INFO_LOG_PATH");
--- a/src/imap/main.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/imap/main.c	Thu Mar 15 17:53:00 2007 +0200
@@ -97,20 +97,23 @@
 		return;
 	}
 
-	user = getenv("USER");
-	if (user == NULL) {
-		if (IS_STANDALONE())
-			user = getlogin();
-		if (user == NULL)
-			user = "??";
+	if (getenv("LOG_PREFIX") != NULL)
+		strocpy(log_prefix, getenv("LOG_PREFIX"), sizeof(log_prefix));
+	else {
+		user = getenv("USER");
+		if (user == NULL) {
+			if (IS_STANDALONE())
+				user = getlogin();
+			if (user == NULL)
+				user = "??";
+		}
+		if (strlen(user) >= sizeof(log_prefix)-6) {
+			/* quite a long user name, cut it */
+			user = t_strndup(user, sizeof(log_prefix)-6-2);
+			user = t_strconcat(user, "..", NULL);
+		}
+		i_snprintf(log_prefix, sizeof(log_prefix), "imap(%s): ", user);
 	}
-	if (strlen(user) >= sizeof(log_prefix)-6) {
-		/* quite a long user name, cut it */
-		user = t_strndup(user, sizeof(log_prefix)-6-2);
-		user = t_strconcat(user, "..", NULL);
-	}
-	i_snprintf(log_prefix, sizeof(log_prefix), "imap(%s)", user);
-
 	if (getenv("USE_SYSLOG") != NULL) {
 		const char *env = getenv("SYSLOG_FACILITY");
 		i_set_failure_syslog(log_prefix, LOG_NDELAY,
--- a/src/master/mail-process.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/master/mail-process.c	Thu Mar 15 17:53:00 2007 +0200
@@ -357,6 +357,13 @@
 		env_put(t_strconcat("LOGFILE=", set->log_path, NULL));
 	if (*set->info_log_path != '\0')
 		env_put(t_strconcat("INFOLOGFILE=", set->info_log_path, NULL));
+	if (*set->mail_log_prefix != '\0') {
+		string_t *str = t_str_new(256);
+
+		str_append(str, "LOG_PREFIX=");
+		var_expand(str, set->mail_log_prefix, var_expand_table);
+		env_put(str_c(str));
+	}
 
 	mail_process_set_environment(set, getenv("MAIL"), var_expand_table,
 				     FALSE);
--- a/src/master/main.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/master/main.c	Thu Mar 15 17:53:00 2007 +0200
@@ -134,7 +134,7 @@
 		i_set_failure_syslog("dovecot", LOG_NDELAY, facility);
 	} else {
 		/* log to file or stderr */
-		i_set_failure_file(set->log_path, "dovecot");
+		i_set_failure_file(set->log_path, "dovecot: ");
 	}
 
 	if (*set->info_log_path != '\0')
--- a/src/pop3/main.c	Thu Mar 15 17:51:58 2007 +0200
+++ b/src/pop3/main.c	Thu Mar 15 17:53:00 2007 +0200
@@ -119,14 +119,18 @@
 		return;
 	}
 
-	user = getenv("USER");
-	if (user == NULL) user = "??";
-	if (strlen(user) >= sizeof(log_prefix)-6) {
-		/* quite a long user name, cut it */
-		user = t_strndup(user, sizeof(log_prefix)-6-2);
-		user = t_strconcat(user, "..", NULL);
+	if (getenv("LOG_PREFIX") != NULL)
+		strocpy(log_prefix, getenv("LOG_PREFIX"), sizeof(log_prefix));
+	else {
+		user = getenv("USER");
+		if (user == NULL) user = "??";
+		if (strlen(user) >= sizeof(log_prefix)-6) {
+			/* quite a long user name, cut it */
+			user = t_strndup(user, sizeof(log_prefix)-6-2);
+			user = t_strconcat(user, "..", NULL);
+		}
+		i_snprintf(log_prefix, sizeof(log_prefix), "pop3(%s): ", user);
 	}
-	i_snprintf(log_prefix, sizeof(log_prefix), "pop3(%s)", user);
 
 	if (getenv("USE_SYSLOG") != NULL) {
 		const char *env = getenv("SYSLOG_FACILITY");