|
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* |
|