git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add queue_only_load_latch.
[exim.git]
/
src
/
src
/
log.c
diff --git
a/src/src/log.c
b/src/src/log.c
index 24418c5e66ebf179b261acb0d90684d7123f8cc4..5cc30928747c83ae0f0e1d740dccadb2ac479432 100644
(file)
--- a/
src/src/log.c
+++ b/
src/src/log.c
@@
-1,10
+1,10
@@
-/* $Cambridge: exim/src/src/log.c,v 1.
7 2005/09/12 10:49:30
ph10 Exp $ */
+/* $Cambridge: exim/src/src/log.c,v 1.
12 2007/01/31 16:52:12
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 200
5
*/
+/* Copyright (c) University of Cambridge 1995 - 200
7
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for writing log files. The code for maintaining datestamped
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for writing log files. The code for maintaining datestamped
@@
-57,7
+57,9
@@
static uschar *file_path = US"";
/* The given string is split into sections according to length, or at embedded
newlines, and syslogged as a numbered sequence if it is overlong or if there is
/* The given string is split into sections according to length, or at embedded
newlines, and syslogged as a numbered sequence if it is overlong or if there is
-more than one line.
+more than one line. However, if we are running in the test harness, do not do
+anything. (The test harness doesn't use syslog - for obvious reasons - but we
+can get here if there is a failure to open the panic log.)
Arguments:
priority syslog priority
Arguments:
priority syslog priority
@@
-72,6
+74,8
@@
write_syslog(int priority, uschar *s)
int len, pass;
int linecount = 0;
int len, pass;
int linecount = 0;
+if (running_in_test_harness) return;
+
if (!syslog_timestamp) s += log_timezone? 26 : 20;
len = Ustrlen(s);
if (!syslog_timestamp) s += log_timezone? 26 : 20;
len = Ustrlen(s);
@@
-720,15
+724,29
@@
if (disable_logging)
return;
}
return;
}
+/* Handle disabled reject log */
+
+if (!write_rejectlog) flags &= ~LOG_REJECT;
+
/* Create the main message in the log buffer, including the message
id except for the process log and when called by a utility. */
ptr = log_buffer;
/* Create the main message in the log buffer, including the message
id except for the process log and when called by a utility. */
ptr = log_buffer;
+sprintf(CS ptr, "%s ", tod_stamp(tod_log));
+while(*ptr) ptr++;
+
+if ((log_extra_selector & LX_pid) != 0)
+ {
+ sprintf(CS ptr, "[%d] ", (int)getpid());
+ while (*ptr) ptr++;
+ }
+
if (really_exim && (flags & LOG_PROCESS) == 0 && message_id[0] != 0)
if (really_exim && (flags & LOG_PROCESS) == 0 && message_id[0] != 0)
- sprintf(CS ptr, "%s %s ", tod_stamp(tod_log), message_id);
-else sprintf(CS ptr, "%s ", tod_stamp(tod_log));
+ {
+ sprintf(CS ptr, "%s ", message_id);
+ while(*ptr) ptr++;
+ }
-while(*ptr) ptr++;
if ((flags & LOG_CONFIG) != 0) ptr = log_config_info(ptr, flags);
va_start(ap, format);
if ((flags & LOG_CONFIG) != 0) ptr = log_config_info(ptr, flags);
va_start(ap, format);
@@
-854,11
+872,12
@@
if ((flags & LOG_MAIN) != 0 &&
}
}
}
}
-/* Handle the log for rejected messages. This can be globally disabled. If
-there are any header lines (i.e. if the rejection is happening after the DATA
-phase), log the recipients and the headers. */
+/* Handle the log for rejected messages. This can be globally disabled, in
+which case the flags are altered above. If there are any header lines (i.e. if
+the rejection is happening after the DATA phase), log the recipients and the
+headers. */
-if (
write_rejectlog &&
(flags & LOG_REJECT) != 0)
+if ((flags & LOG_REJECT) != 0)
{
header_line *h;
{
header_line *h;