|
10 | 10 | * Written by Peter Eisentraut <peter_e@gmx.net>.
|
11 | 11 | *
|
12 | 12 | * IDENTIFICATION
|
13 |
| - * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.441 2008/04/02 14:42:56 mha Exp $ |
| 13 | + * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.442 2008/04/03 09:21:15 mha Exp $ |
14 | 14 | *
|
15 | 15 | *--------------------------------------------------------------------
|
16 | 16 | */
|
@@ -135,8 +135,8 @@ static const char *assign_log_destination(const char *value,
|
135 | 135 | #ifdefHAVE_SYSLOG
|
136 | 136 | staticintsyslog_facility=LOG_LOCAL0;
|
137 | 137 |
|
138 |
| -staticconstchar*assign_syslog_facility(constchar*facility, |
139 |
| -booldoit,GucSourcesource); |
| 138 | +staticboolassign_syslog_facility(intnewval, |
| 139 | +booldoit,GucSourcesource); |
140 | 140 | staticconstchar*assign_syslog_ident(constchar*ident,
|
141 | 141 | booldoit,GucSourcesource);
|
142 | 142 | #endif
|
@@ -229,6 +229,18 @@ static const struct config_enum_entry session_replication_role_options[] = {
|
229 | 229 | {NULL,0}
|
230 | 230 | };
|
231 | 231 |
|
| 232 | +staticconststructconfig_enum_entrysyslog_facility_options[]= { |
| 233 | +{"local0",LOG_LOCAL0}, |
| 234 | +{"local1",LOG_LOCAL1}, |
| 235 | +{"local2",LOG_LOCAL2}, |
| 236 | +{"local3",LOG_LOCAL3}, |
| 237 | +{"local4",LOG_LOCAL4}, |
| 238 | +{"local5",LOG_LOCAL5}, |
| 239 | +{"local6",LOG_LOCAL6}, |
| 240 | +{"local7",LOG_LOCAL7}, |
| 241 | +{NULL,0} |
| 242 | +}; |
| 243 | + |
232 | 244 |
|
233 | 245 | /*
|
234 | 246 | * GUC option variables that are exported from this module
|
@@ -283,7 +295,6 @@ inttcp_keepalives_count;
|
283 | 295 | staticchar*log_destination_string;
|
284 | 296 |
|
285 | 297 | #ifdefHAVE_SYSLOG
|
286 |
| -staticchar*syslog_facility_str; |
287 | 298 | staticchar*syslog_ident_str;
|
288 | 299 | #endif
|
289 | 300 | staticboolphony_autocommit;
|
@@ -2231,15 +2242,6 @@ static struct config_string ConfigureNamesString[] =
|
2231 | 2242 | },
|
2232 | 2243 |
|
2233 | 2244 | #ifdefHAVE_SYSLOG
|
2234 |
| -{ |
2235 |
| -{"syslog_facility",PGC_SIGHUP,LOGGING_WHERE, |
2236 |
| -gettext_noop("Sets the syslog \"facility\" to be used when syslog enabled."), |
2237 |
| -gettext_noop("Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, " |
2238 |
| -"LOCAL4, LOCAL5, LOCAL6, LOCAL7.") |
2239 |
| -}, |
2240 |
| -&syslog_facility_str, |
2241 |
| -"LOCAL0",assign_syslog_facility,NULL |
2242 |
| -}, |
2243 | 2245 | {
|
2244 | 2246 | {"syslog_ident",PGC_SIGHUP,LOGGING_WHERE,
|
2245 | 2247 | gettext_noop("Sets the program name used to identify PostgreSQL "
|
@@ -2488,6 +2490,18 @@ static struct config_enum ConfigureNamesEnum[] =
|
2488 | 2490 | LOGSTMT_NONE,log_statement_options,NULL,NULL
|
2489 | 2491 | },
|
2490 | 2492 |
|
| 2493 | +#ifdefHAVE_SYSLOG |
| 2494 | +{ |
| 2495 | +{"syslog_facility",PGC_SIGHUP,LOGGING_WHERE, |
| 2496 | +gettext_noop("Sets the syslog \"facility\" to be used when syslog enabled."), |
| 2497 | +gettext_noop("Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, " |
| 2498 | +"LOCAL4, LOCAL5, LOCAL6, LOCAL7.") |
| 2499 | +}, |
| 2500 | +&syslog_facility, |
| 2501 | +LOG_LOCAL0,syslog_facility_options,assign_syslog_facility,NULL |
| 2502 | +}, |
| 2503 | +#endif |
| 2504 | + |
2491 | 2505 | {
|
2492 | 2506 | {"regex_flavor",PGC_USERSET,COMPAT_OPTIONS_PREVIOUS,
|
2493 | 2507 | gettext_noop("Sets the regular expression \"flavor\"."),
|
@@ -6860,38 +6874,14 @@ assign_log_destination(const char *value, bool doit, GucSource source)
|
6860 | 6874 |
|
6861 | 6875 | #ifdefHAVE_SYSLOG
|
6862 | 6876 |
|
6863 |
| -staticconstchar* |
6864 |
| -assign_syslog_facility(constchar*facility,booldoit,GucSourcesource) |
| 6877 | +staticbool |
| 6878 | +assign_syslog_facility(intnewval,booldoit,GucSourcesource) |
6865 | 6879 | {
|
6866 |
| -intsyslog_fac; |
6867 |
| - |
6868 |
| -if (pg_strcasecmp(facility,"LOCAL0")==0) |
6869 |
| -syslog_fac=LOG_LOCAL0; |
6870 |
| -elseif (pg_strcasecmp(facility,"LOCAL1")==0) |
6871 |
| -syslog_fac=LOG_LOCAL1; |
6872 |
| -elseif (pg_strcasecmp(facility,"LOCAL2")==0) |
6873 |
| -syslog_fac=LOG_LOCAL2; |
6874 |
| -elseif (pg_strcasecmp(facility,"LOCAL3")==0) |
6875 |
| -syslog_fac=LOG_LOCAL3; |
6876 |
| -elseif (pg_strcasecmp(facility,"LOCAL4")==0) |
6877 |
| -syslog_fac=LOG_LOCAL4; |
6878 |
| -elseif (pg_strcasecmp(facility,"LOCAL5")==0) |
6879 |
| -syslog_fac=LOG_LOCAL5; |
6880 |
| -elseif (pg_strcasecmp(facility,"LOCAL6")==0) |
6881 |
| -syslog_fac=LOG_LOCAL6; |
6882 |
| -elseif (pg_strcasecmp(facility,"LOCAL7")==0) |
6883 |
| -syslog_fac=LOG_LOCAL7; |
6884 |
| -else |
6885 |
| -returnNULL;/* reject */ |
6886 |
| - |
6887 | 6880 | if (doit)
|
6888 |
| -{ |
6889 |
| -syslog_facility=syslog_fac; |
6890 | 6881 | set_syslog_parameters(syslog_ident_str ?syslog_ident_str :"postgres",
|
6891 |
| -syslog_facility); |
6892 |
| -} |
| 6882 | +newval); |
6893 | 6883 |
|
6894 |
| -returnfacility; |
| 6884 | +returntrue; |
6895 | 6885 | }
|
6896 | 6886 |
|
6897 | 6887 | staticconstchar*
|
|