src/dpdk/lib/librte_eal/common/eal_common_log.c
int
rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
{
	FILE *f = rte_log_get_stream();
	int ret;

	if (logtype >= rte_logs.dynamic_types_len)
		return -1;
	if (!rte_log_can_log(logtype, level))
		return 0;

	/* save loglevel and logtype in a global per-lcore variable */
	RTE_PER_LCORE(log_cur_msg).loglevel = level;
	RTE_PER_LCORE(log_cur_msg).logtype = logtype;

	ret = vfprintf(f, format, ap);
	fflush(f);
	return ret;
}
/*
 * Generates a log message The message will be sent in the stream
 * defined by the previous call to rte_openlog_stream().
 */
Generates a log message The message will be sent in the stream
defined by the previous call to rte_openlog_stream().
Generates a log message The message will be sent in the stream defined by the previous call to rte_openlog_stream () .
int
rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap)
{
	FILE *f = rte_log_get_stream();
	int ret;
	if (logtype >= rte_logs.dynamic_types_len)
		return -1;
	if (!rte_log_can_log(logtype, level))
		return 0;
	RTE_PER_LCORE(log_cur_msg).loglevel = level;
	RTE_PER_LCORE(log_cur_msg).logtype = logtype;
	ret = vfprintf(f, format, ap);
	fflush(f);
	return ret;
}
int rte_vlog ( uint32_t level , uint32_t logtype , const char * format , va_list ap ) { FILE * f = rte_log_get_stream ( ) ; int ret ; if ( logtype >= rte_logs . dynamic_types_len ) return -1 ; if ( ! rte_log_can_log ( logtype , level ) ) return 0 ; RTE_PER_LCORE ( log_cur_msg ) . loglevel = level ; RTE_PER_LCORE ( log_cur_msg ) . logtype = logtype ; ret = vfprintf ( f , format , ap ) ; fflush ( f ) ; return ret ; }
Generates a log message The message will be sent in the stream
 defined by the previous call to rte_openlog_stream().
Generates a log message The message will be sent in the stream defined by the previous call to rte_openlog_stream () .
/* save loglevel and logtype in a global per-lcore variable */