Re: Syslog Facility Patch - Mailing list pgsql-hackers
From | Larry Rosenman |
---|---|
Subject | Re: Syslog Facility Patch |
Date | |
Msg-id | 20001112170519.A7835@lerami.lerctr.org Whole thread Raw |
In response to | Re: Syslog Facility Patch (Larry Rosenman <ler@lerctr.org>) |
Responses |
Re: Syslog Facility Patch
|
List | pgsql-hackers |
Here is a cleaned up patch, without the elog() and fprintf(), and some minor formatting fixups. Index: doc/src/sgml/runtime.sgml =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/runtime.sgml,v retrieving revision 1.33 diff -c -r1.33 runtime.sgml *** doc/src/sgml/runtime.sgml 2000/11/10 16:32:09 1.33 --- doc/src/sgml/runtime.sgml 2000/11/12 23:02:17 *************** *** 822,827 **** --- 822,839 ---- </varlistentry> <varlistentry> + <term>SYSLOG_FACILITY (<type>string</type>)</term> + <listitem> + <para> + If the SYSLOG option is set to 1 or greater, this option determines + the <application>syslog</application> facility used. You may choose + from LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. + the default is LOCAL0 + </para> + </listitem> + </varlistentry> + + <varlistentry> <term>TRACE_NOTIFY (<type>boolean</type>)</term> <listitem> <para> Index: src/backend/utils/error/elog.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/error/elog.c,v retrieving revision 1.65 diff -c -r1.65 elog.c *** src/backend/utils/error/elog.c 2000/10/30 06:48:36 1.65 --- src/backend/utils/error/elog.c 2000/11/12 23:02:20 *************** *** 58,63 **** --- 58,64 ---- * ... in theory anyway */ int Use_syslog = 0; + char *Syslog_facility = "LOCAL0"; static void write_syslog(int level, const char *line); *************** *** 620,625 **** --- 621,627 ---- 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,633 **** if (!openlog_done) { ! openlog("postgres", LOG_PID | LOG_NDELAY, LOG_LOCAL0); openlog_done = true; } --- 629,651 ---- if (!openlog_done) { ! 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("postgres", LOG_PID | LOG_NDELAY, syslog_fac); openlog_done = true; } Index: src/backend/utils/misc/guc.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/utils/misc/guc.c,v retrieving revision 1.16 diff -c -r1.16 guc.c *** src/backend/utils/misc/guc.c 2000/11/09 11:25:59 1.16 --- src/backend/utils/misc/guc.c 2000/11/12 23:02:22 *************** *** 39,44 **** --- 39,48 ---- extern int CheckPointTimeout; extern int XLOGbuffers; extern int XLOG_DEBUG; + #ifdef ENABLE_SYSLOG + extern char *Syslog_facility; + bool check_facility(const char *facility); + #endif /* * Debugging options *************** *** 303,308 **** --- 307,316 ---- {"unix_socket_group", PGC_POSTMASTER, &Unix_socket_group, "", NULL}, + #ifdef ENABLE_SYSLOG + {"syslog_facility", PGC_SIGHUP, &Syslog_facility, + "LOCAL0", check_facility}, + #endif {NULL, 0, NULL, NULL, NULL} }; *************** *** 807,809 **** --- 815,832 ---- 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 -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 (voice) Internet: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
pgsql-hackers by date: