1024 to improve performance when sending large elog messages. Also add a
comment about why we use that number.
Since this represents an externally visible behavior change, and might
possibly result in portability issues, it seems best not to back-patch it.
int Log_destination = LOG_DESTINATION_STDERR;
#ifdef HAVE_SYSLOG
+
+/*
+ * Max string length to send to syslog(). Note that this doesn't count the
+ * sequence-number prefix we add, and of course it doesn't count the prefix
+ * added by syslog itself. On many implementations it seems that the hard
+ * limit is approximately 2K bytes including both those prefixes.
+ */
+#ifndef PG_SYSLOG_LIMIT
+#define PG_SYSLOG_LIMIT 1024
+#endif
+
static bool openlog_done = false;
static char *syslog_ident = NULL;
static int syslog_facility = LOG_LOCAL0;
}
-
#ifdef HAVE_SYSLOG
/*
}
-#ifndef PG_SYSLOG_LIMIT
-#define PG_SYSLOG_LIMIT 128
-#endif
-
/*
* Write a message line to syslog
*/