[dpdk-dev,v2,2/8] eal: dump registered log types
Checks
Commit Message
Introduce a function to dump the global level and the registered log
types.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
---
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 +
lib/librte_eal/common/eal_common_log.c | 34 +++++++++++++++++++++++++
lib/librte_eal/common/include/rte_log.h | 10 ++++++++
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 +
4 files changed, 46 insertions(+)
Comments
2017-03-29 17:53, Olivier Matz:
> +/* dump global level and registered log types */
> +void
> +rte_log_dump(FILE *f)
> +{
> + size_t i;
> +
> + fprintf(f, "global log level is %s\n",
> + loglevel_to_string(rte_log_get_global_level()));
>
Compilation fails here:
fatal error: implicit declaration of function 'rte_log_get_global_level'
Please, could you also move new symbols in 17.05 map blocks
and release notes in 17.05?
Thanks
@@ -180,6 +180,7 @@ DPDK_17.02 {
rte_bus_register;
rte_bus_scan;
rte_bus_unregister;
+ rte_log_dump;
rte_log_register;
rte_log_set_level;
@@ -243,6 +243,40 @@ rte_log_init(void)
rte_logs.dynamic_types_len = RTE_LOGTYPE_FIRST_EXT_ID;
}
+static const char *
+loglevel_to_string(uint32_t level)
+{
+ switch (level) {
+ case RTE_LOG_EMERG: return "emerg";
+ case RTE_LOG_ALERT: return "alert";
+ case RTE_LOG_CRIT: return "critical";
+ case RTE_LOG_ERR: return "error";
+ case RTE_LOG_WARNING: return "warning";
+ case RTE_LOG_NOTICE: return "notice";
+ case RTE_LOG_INFO: return "info";
+ case RTE_LOG_DEBUG: return "debug";
+ default: return "unknown";
+ }
+}
+
+/* dump global level and registered log types */
+void
+rte_log_dump(FILE *f)
+{
+ size_t i;
+
+ fprintf(f, "global log level is %s\n",
+ loglevel_to_string(rte_log_get_global_level()));
+
+ for (i = 0; i < rte_logs.dynamic_types_len; i++) {
+ if (rte_logs.dynamic_types[i].name == NULL)
+ continue;
+ fprintf(f, "id %zu: %s, level is %s\n",
+ i, rte_logs.dynamic_types[i].name,
+ loglevel_to_string(rte_logs.dynamic_types[i].loglevel));
+ }
+}
+
/*
* Generates a log message The message will be sent in the stream
* defined by the previous call to rte_openlog_stream().
@@ -209,6 +209,16 @@ int rte_log_cur_msg_logtype(void);
int rte_log_register(const char *name);
/**
+ * Dump log information.
+ *
+ * Dump the global level and the registered log types.
+ *
+ * @param f
+ * The output stream where the dump should be sent.
+ */
+void rte_log_dump(FILE *f);
+
+/**
* Generates a log message.
*
* The message will be sent in the stream defined by the previous call
@@ -184,6 +184,7 @@ DPDK_17.02 {
rte_bus_register;
rte_bus_scan;
rte_bus_unregister;
+ rte_log_dump;
rte_log_register;
rte_log_set_level;