aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/error/elog.c23
-rw-r--r--src/backend/utils/misc/guc.c28
2 files changed, 48 insertions, 3 deletions
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 3f80c21580a..89aeacb5ffe 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.65 2000/10/30 06:48:36 ishii Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.66 2000/11/13 21:35:02 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -58,6 +58,8 @@ extern CommandDest whereToSendOutput;
* ... in theory anyway
*/
int Use_syslog = 0;
+char *Syslog_facility = "LOCAL0";
+char *Syslog_progid = "postgres";
static void write_syslog(int level, const char *line);
@@ -620,6 +622,7 @@ write_syslog(int level, const char *line)
static bool openlog_done = false;
static unsigned long seq = 0;
+ static int syslog_fac = LOG_LOCAL0;
int len = strlen(line);
if (Use_syslog == 0)
@@ -627,7 +630,23 @@ write_syslog(int level, const char *line)
if (!openlog_done)
{
- openlog("postgres", LOG_PID | LOG_NDELAY, LOG_LOCAL0);
+ if (strcasecmp(Syslog_facility,"LOCAL0") == 0)
+ syslog_fac = LOG_LOCAL0;
+ if (strcasecmp(Syslog_facility,"LOCAL1") == 0)
+ syslog_fac = LOG_LOCAL1;
+ if (strcasecmp(Syslog_facility,"LOCAL2") == 0)
+ syslog_fac = LOG_LOCAL2;
+ if (strcasecmp(Syslog_facility,"LOCAL3") == 0)
+ syslog_fac = LOG_LOCAL3;
+ if (strcasecmp(Syslog_facility,"LOCAL4") == 0)
+ syslog_fac = LOG_LOCAL4;
+ if (strcasecmp(Syslog_facility,"LOCAL5") == 0)
+ syslog_fac = LOG_LOCAL5;
+ if (strcasecmp(Syslog_facility,"LOCAL6") == 0)
+ syslog_fac = LOG_LOCAL6;
+ if (strcasecmp(Syslog_facility,"LOCAL7") == 0)
+ syslog_fac = LOG_LOCAL7;
+ openlog(Syslog_progid, LOG_PID | LOG_NDELAY, syslog_fac);
openlog_done = true;
}
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index ecdc1d1a757..88c20a2ac09 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -4,7 +4,7 @@
* Support for grand unified configuration scheme, including SET
* command, configuration file, and command line options.
*
- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.17 2000/11/13 15:18:12 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.18 2000/11/13 21:35:03 momjian Exp $
*
* Copyright 2000 by PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
@@ -39,6 +39,11 @@ extern bool Log_connections;
extern int CheckPointTimeout;
extern int XLOGbuffers;
extern int XLOG_DEBUG;
+#ifdef ENABLE_SYSLOG
+extern char *Syslog_facility;
+extern char *Syslog_progid;
+ bool check_facility(const char *facility);
+#endif
/*
* Debugging options
@@ -303,6 +308,12 @@ ConfigureNamesString[] =
{"unix_socket_group", PGC_POSTMASTER, &Unix_socket_group,
"", NULL},
+#ifdef ENABLE_SYSLOG
+ {"syslog_facility", PGC_SIGHUP, &Syslog_facility,
+ "LOCAL0", check_facility},
+ {"syslog_progid", PGC_SIGHUP, &Syslog_progid,
+ "postgres", NULL},
+#endif
{"unixsocket", PGC_POSTMASTER, &UnixSocketName,
"", NULL},
@@ -813,3 +824,18 @@ ParseLongOption(const char * string, char ** name, char ** value)
if (*cp == '-')
*cp = '_';
}
+#ifdef ENABLE_SYSLOG
+bool
+check_facility(const char *facility)
+{
+ if (strcasecmp(facility,"LOCAL0") == 0) return true;
+ if (strcasecmp(facility,"LOCAL1") == 0) return true;
+ if (strcasecmp(facility,"LOCAL2") == 0) return true;
+ if (strcasecmp(facility,"LOCAL3") == 0) return true;
+ if (strcasecmp(facility,"LOCAL4") == 0) return true;
+ if (strcasecmp(facility,"LOCAL5") == 0) return true;
+ if (strcasecmp(facility,"LOCAL6") == 0) return true;
+ if (strcasecmp(facility,"LOCAL7") == 0) return true;
+ return false;
+}
+#endif