mirror of
https://salsa.debian.org/ha-team/libqb
synced 2026-01-01 12:11:17 +00:00
LOG: add stdout target
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
parent
70f1eb8130
commit
4dbfebbdbc
@ -131,10 +131,11 @@ m_filter(struct qb_log_callsite *cs)
|
||||
|
||||
int32_t main(int32_t argc, char *argv[])
|
||||
{
|
||||
const char *options = "vhtebdf:";
|
||||
const char *options = "vhteobdf:";
|
||||
int32_t opt;
|
||||
int32_t tracer;
|
||||
int32_t do_stderr = QB_FALSE;
|
||||
int32_t do_stdout = QB_FALSE;
|
||||
int32_t do_dump_blackbox = QB_FALSE;
|
||||
char *logfile = NULL;
|
||||
int32_t log_fd = -1;
|
||||
@ -150,6 +151,9 @@ int32_t main(int32_t argc, char *argv[])
|
||||
case 'e':
|
||||
do_stderr = QB_TRUE;
|
||||
break;
|
||||
case 'o':
|
||||
do_stdout = QB_TRUE;
|
||||
break;
|
||||
case 'b':
|
||||
do_blackbox = QB_TRUE;
|
||||
break;
|
||||
@ -178,19 +182,26 @@ int32_t main(int32_t argc, char *argv[])
|
||||
qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_THREADED, do_threaded);
|
||||
qb_log_tags_stringify_fn_set(my_tags_stringify);
|
||||
|
||||
tracer = qb_log_custom_open(trace_logger, NULL, NULL, NULL);
|
||||
|
||||
if (do_stderr) {
|
||||
qb_log_filter_fn_set(m_filter);
|
||||
qb_log_format_set(QB_LOG_STDERR, "[%p] %4g: %f:%l %b");
|
||||
qb_log_ctl(QB_LOG_STDERR, QB_LOG_CONF_ENABLED, QB_TRUE);
|
||||
|
||||
tracer = qb_log_custom_open(trace_logger, NULL, NULL, NULL);
|
||||
qb_log_ctl(tracer, QB_LOG_CONF_ENABLED, QB_TRUE);
|
||||
qb_log_format_set(tracer, "%4g: %n() %b");
|
||||
qb_log_filter_ctl2(tracer, QB_LOG_FILTER_ADD,
|
||||
QB_LOG_FILTER_FILE, __FILE__,
|
||||
LOG_TRACE, 200);
|
||||
}
|
||||
if (do_stdout) {
|
||||
qb_log_filter_ctl2(QB_LOG_STDOUT, QB_LOG_FILTER_ADD,
|
||||
QB_LOG_FILTER_FILE, __FILE__,
|
||||
LOG_ALERT, QB_MIN(LOG_DEBUG, _log_priority));
|
||||
qb_log_format_set(QB_LOG_STDOUT, "[%p] %4g: %f:%l %b");
|
||||
qb_log_ctl(QB_LOG_STDOUT, QB_LOG_CONF_ENABLED, QB_TRUE);
|
||||
}
|
||||
if (do_blackbox) {
|
||||
qb_log_filter_ctl(QB_LOG_BLACKBOX, QB_LOG_FILTER_ADD,
|
||||
QB_LOG_FILTER_FILE, "*", LOG_DEBUG);
|
||||
|
||||
@ -353,6 +353,7 @@ void qb_log_from_external_source_va(const char *function,
|
||||
#define QB_LOG_SYSLOG 0
|
||||
#define QB_LOG_STDERR 1
|
||||
#define QB_LOG_BLACKBOX 2
|
||||
#define QB_LOG_STDOUT 3
|
||||
|
||||
#define QB_LOG_TARGET_MAX 32
|
||||
|
||||
|
||||
@ -720,6 +720,7 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority)
|
||||
|
||||
conf[QB_LOG_STDERR].state = QB_LOG_STATE_DISABLED;
|
||||
conf[QB_LOG_BLACKBOX].state = QB_LOG_STATE_DISABLED;
|
||||
conf[QB_LOG_STDOUT].state = QB_LOG_STATE_DISABLED;
|
||||
|
||||
logger_inited = QB_TRUE;
|
||||
(void)qb_log_syslog_open(&conf[QB_LOG_SYSLOG]);
|
||||
@ -881,7 +882,8 @@ _log_target_enable(struct qb_log_target *t)
|
||||
if (t->state == QB_LOG_STATE_ENABLED) {
|
||||
return 0;
|
||||
}
|
||||
if (t->pos == QB_LOG_STDERR) {
|
||||
if (t->pos == QB_LOG_STDERR ||
|
||||
t->pos == QB_LOG_STDOUT) {
|
||||
rc = qb_log_stderr_open(t);
|
||||
} else if (t->pos == QB_LOG_SYSLOG) {
|
||||
rc = qb_log_syslog_open(t);
|
||||
|
||||
@ -67,8 +67,13 @@ qb_log_stderr_open(struct qb_log_target *t)
|
||||
t->logger = _file_logger;
|
||||
t->reload = NULL;
|
||||
t->close = NULL;
|
||||
(void)strlcpy(t->filename, "stderr", PATH_MAX);
|
||||
t->instance = stderr;
|
||||
if (t->pos == QB_LOG_STDERR) {
|
||||
(void)strlcpy(t->filename, "stderr", PATH_MAX);
|
||||
t->instance = stderr;
|
||||
} else {
|
||||
(void)strlcpy(t->filename, "stdout", PATH_MAX);
|
||||
t->instance = stdout;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user