log: add log stream accessor
Define an accessor so that users can write their debug message to the same stream than the rte_log infrastructure. Use it in the qat infrastructure. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Kevin Traynor <ktraynor@redhat.com>
This commit is contained in:
parent
ca52fccbb3
commit
b5fedaedfc
@ -19,8 +19,7 @@ qat_hexdump_log(uint32_t level, uint32_t logtype, const char *title,
|
||||
if (level > (uint32_t)(rte_log_get_level(logtype)))
|
||||
return 0;
|
||||
|
||||
rte_hexdump(rte_logs.file == NULL ? stderr : rte_logs.file,
|
||||
title, buf, len);
|
||||
rte_hexdump(rte_log_get_stream(), title, buf, len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -24,8 +24,7 @@ extern int qat_dp_logtype;
|
||||
*
|
||||
* Dump out the message buffer in a special hex dump output format with
|
||||
* characters printed for each line of 16 hex values. The message will be sent
|
||||
* to the stream defined by rte_logs.file or to stderr in case of rte_logs.file
|
||||
* is undefined.
|
||||
* to the stream used by the rte_log infrastructure.
|
||||
*/
|
||||
int
|
||||
qat_hexdump_log(uint32_t level, uint32_t logtype, const char *title,
|
||||
|
@ -71,6 +71,24 @@ rte_openlog_stream(FILE *f)
|
||||
return 0;
|
||||
}
|
||||
|
||||
FILE *
|
||||
rte_log_get_stream(void)
|
||||
{
|
||||
FILE *f = rte_logs.file;
|
||||
|
||||
if (f == NULL) {
|
||||
/*
|
||||
* Grab the current value of stderr here, rather than
|
||||
* just initializing default_log_stream to stderr. This
|
||||
* ensures that we will always use the current value
|
||||
* of stderr, even if the application closes and
|
||||
* reopens it.
|
||||
*/
|
||||
return default_log_stream ? : stderr;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
/* Set global log level */
|
||||
void
|
||||
rte_log_set_global_level(uint32_t level)
|
||||
@ -396,21 +414,8 @@ rte_log_dump(FILE *f)
|
||||
int
|
||||
rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
|
||||
{
|
||||
FILE *f = rte_log_get_stream();
|
||||
int ret;
|
||||
FILE *f = rte_logs.file;
|
||||
if (f == NULL) {
|
||||
f = default_log_stream;
|
||||
if (f == NULL) {
|
||||
/*
|
||||
* Grab the current value of stderr here, rather than
|
||||
* just initializing default_log_stream to stderr. This
|
||||
* ensures that we will always use the current value
|
||||
* of stderr, even if the application closes and
|
||||
* reopens it.
|
||||
*/
|
||||
f = stderr;
|
||||
}
|
||||
}
|
||||
|
||||
if (level > rte_logs.level)
|
||||
return 0;
|
||||
|
@ -101,6 +101,19 @@ extern struct rte_logs rte_logs;
|
||||
*/
|
||||
int rte_openlog_stream(FILE *f);
|
||||
|
||||
/**
|
||||
* @warning
|
||||
* @b EXPERIMENTAL: this API may change without prior notice
|
||||
*
|
||||
* Retrieve the stream used by the logging system (see rte_openlog_stream()
|
||||
* to change it).
|
||||
*
|
||||
* @return
|
||||
* Pointer to the stream.
|
||||
*/
|
||||
__rte_experimental
|
||||
FILE *rte_log_get_stream(void);
|
||||
|
||||
/**
|
||||
* Set the global log level.
|
||||
*
|
||||
|
@ -417,4 +417,7 @@ EXPERIMENTAL {
|
||||
rte_mcfg_timer_lock;
|
||||
rte_mcfg_timer_unlock;
|
||||
rte_rand_max;
|
||||
|
||||
# added in 19.11
|
||||
rte_log_get_stream;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user