eal: dump registered log types
authorOlivier Matz <olivier.matz@6wind.com>
Tue, 4 Apr 2017 16:40:34 +0000 (18:40 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 5 Apr 2017 11:37:17 +0000 (13:37 +0200)
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
lib/librte_eal/common/eal_common_log.c
lib/librte_eal/common/include/rte_log.h
lib/librte_eal/linuxapp/eal/rte_eal_version.map

index df85966..bd63ea6 100644 (file)
@@ -186,6 +186,7 @@ DPDK_17.02 {
 DPDK_17.05 {
        global:
 
+       rte_log_dump;
        rte_log_register;
        rte_log_set_level;
 
index 68d879a..9032621 100644 (file)
@@ -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_get_log_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().
index c224ded..85a03fd 100644 (file)
@@ -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.
  *
index 7159878..79a713d 100644 (file)
@@ -191,6 +191,7 @@ DPDK_17.05 {
        global:
 
        rte_intr_free_epoll_fd;
+       rte_log_dump;
        rte_log_register;
        rte_log_set_level;