]>
sourceware.org Git - newlib-cygwin.git/blob - winsup/cygserver/bsd_log.cc
3 Copyright 2003, 2004, 2012 Red Hat Inc.
5 This file is part of Cygwin.
7 This software is a copyrighted work licensed under the terms of the
8 Cygwin license. Please consult the file "CYGWIN_LICENSE" for
10 #ifdef __OUTSIDE_CYGWIN__
13 #define __BSD_VISIBLE 1
17 int32_t log_level
= 8; /* Illegal value. Don't change! */
18 tun_bool_t log_debug
= TUN_UNDEF
;
19 tun_bool_t log_syslog
= TUN_UNDEF
;
20 tun_bool_t log_stderr
= TUN_UNDEF
;
23 loginit (tun_bool_t opt_stderr
, tun_bool_t opt_syslog
)
25 if (log_debug
== TUN_UNDEF
)
26 TUNABLE_BOOL_FETCH ("kern.log.debug", &log_debug
);
27 if (log_debug
== TUN_UNDEF
)
28 log_debug
= TUN_FALSE
;
30 if (opt_stderr
!= TUN_UNDEF
)
31 log_stderr
= opt_stderr
;
33 TUNABLE_BOOL_FETCH ("kern.log.stderr", &log_stderr
);
34 if (log_stderr
== TUN_UNDEF
)
35 log_stderr
= TUN_FALSE
;
37 if (opt_syslog
!= TUN_UNDEF
)
38 log_syslog
= opt_syslog
;
40 TUNABLE_BOOL_FETCH ("kern.log.syslog", &log_syslog
);
41 if (log_syslog
== TUN_UNDEF
)
42 log_syslog
= TUN_FALSE
;
45 TUNABLE_INT_FETCH ("kern.log.level", &log_level
);
51 _vlog (const char *file
, int line
, int level
,
52 const char *fmt
, va_list ap
)
57 if ((level
== LOG_DEBUG
&& log_debug
!= TUN_TRUE
)
58 || (level
!= LOG_DEBUG
&& level
>= log_level
))
60 pos
= stpcpy (buf
, "cygserver: ");
61 if (file
&& log_debug
== TUN_TRUE
)
62 pos
+= snprintf (pos
, 16384 - (pos
- buf
), "%s, line %d: ", file
, line
);
63 vsnprintf (pos
, 16384 - (pos
- buf
), fmt
, ap
);
64 if (log_syslog
== TUN_TRUE
&& level
!= LOG_DEBUG
)
66 if (log_stderr
== TUN_TRUE
|| level
== LOG_DEBUG
)
74 _log (const char *file
, int line
, int level
, const char *fmt
, ...)
78 _vlog (file
, line
, level
, fmt
, ap
);
82 _vpanic (const char *file
, int line
, const char *fmt
, va_list ap
)
84 _vlog (file
, line
, LOG_CRIT
, fmt
, ap
);
89 _panic (const char *file
, int line
, const char *fmt
, ...)
93 _vpanic (file
, line
, fmt
, ap
);
95 #endif /* __OUTSIDE_CYGWIN__ */
This page took 0.04068 seconds and 5 git commands to generate.