version 1.8, 2004/12/15 06:11:40 |
version 1.9, 2005/02/15 15:29:35 |
|
|
LOG_ERR, |
LOG_ERR, |
}; |
}; |
|
|
|
|
|
|
static u_int cvs_log_dest = LD_STD; |
static u_int cvs_log_dest = LD_STD; |
static u_int cvs_log_flags = 0; |
static u_int cvs_log_flags = 0; |
|
|
static u_int cvs_log_filters[LP_MAX + 1]; |
static struct syslog_data cvs_sl; |
#define NB_FILTERS sizeof(cvs_log_filters)/sizeof(cvs_log_filters[0]) |
|
|
|
|
/* filter manipulation macros */ |
|
#define CVS_LOG_FLTRRST() (cvs_log_filters = 0) |
|
#define CVS_LOG_FLTRSET(l) (cvs_log_filters |= (1 << l)) |
|
#define CVS_LOG_FLTRGET(l) (cvs_log_filters & (1 << l)) |
|
#define CVS_LOG_FLTRCLR(l) (cvs_log_filters &= ~(1 << l)) |
|
|
static struct syslog_data cvs_sl; |
static u_int cvs_log_filters; |
|
|
|
|
/* |
/* |
|
|
cvs_log_flags = flags; |
cvs_log_flags = flags; |
|
|
/* by default, filter only LP_DEBUG and LP_INFO levels */ |
/* by default, filter only LP_DEBUG and LP_INFO levels */ |
memset(cvs_log_filters, 0, sizeof(cvs_log_filters)); |
CVS_LOG_FLTRRST(); |
cvs_log_filters[LP_DEBUG] = 1; |
CVS_LOG_FLTRSET(LP_DEBUG); |
cvs_log_filters[LP_INFO] = 1; |
CVS_LOG_FLTRSET(LP_INFO); |
|
|
/* traces are enabled with the -t command-line option */ |
/* traces are enabled with the -t command-line option */ |
cvs_log_filters[LP_TRACE] = 1; |
CVS_LOG_FLTRSET(LP_TRACE); |
|
|
if (dest & LD_SYSLOG) { |
if (dest & LD_SYSLOG) { |
slopt = 0; |
slopt = 0; |
|
|
switch (how) { |
switch (how) { |
case LP_FILTER_SET: |
case LP_FILTER_SET: |
if (level == LP_ALL) |
if (level == LP_ALL) |
for (i = 0; i < NB_FILTERS; i++) |
for (i = 0; i <= LP_MAX; i++) |
cvs_log_filters[i] = 1; |
CVS_LOG_FLTRSET(i); |
else |
else |
cvs_log_filters[level] = 1; |
CVS_LOG_FLTRSET(level); |
break; |
break; |
case LP_FILTER_UNSET: |
case LP_FILTER_UNSET: |
if (level == LP_ALL) |
if (level == LP_ALL) |
for (i = 0; i < NB_FILTERS; i++) |
CVS_LOG_FLTRRST(); |
cvs_log_filters[i] = 0; |
|
else |
else |
cvs_log_filters[level] = 0; |
CVS_LOG_FLTRCLR(level); |
break; |
break; |
case LP_FILTER_TOGGLE: |
|
if (level == LP_ALL) |
|
for (i = 0; i < NB_FILTERS; i++) |
|
cvs_log_filters[i] = |
|
(cvs_log_filters[i] == 0) ? 1 : 0; |
|
else |
|
cvs_log_filters[level] = |
|
(cvs_log_filters[level] == 0) ? 1 : 0; |
|
break; |
|
default: |
default: |
return (-1); |
return (-1); |
} |
} |
|
|
return (-1); |
return (-1); |
|
|
/* apply any filters */ |
/* apply any filters */ |
if (cvs_log_filters[level] != 0) |
if (CVS_LOG_FLTRGET(level)) |
return (0); |
return (0); |
|
|
if (level == LP_ERRNO) |
if (level == LP_ERRNO) |