7474#error "the log line buffer size must more than 80"
7575#endif
7676
77- /* tag's level filter */
78- struct tag_lvl_filter
79- {
80- char tag [ULOG_FILTER_TAG_MAX_LEN + 1 ];
81- rt_uint32_t level ;
82- rt_slist_t list ;
83- };
84- typedef struct tag_lvl_filter * tag_lvl_filter_t ;
85-
8677struct rt_ulog
8778{
8879 rt_bool_t init_ok ;
@@ -760,7 +751,7 @@ void ulog_hexdump(const char *name, rt_size_t width, rt_uint8_t *buf, rt_size_t
760751int ulog_tag_lvl_filter_set (const char * tag , rt_uint32_t level )
761752{
762753 rt_slist_t * node ;
763- tag_lvl_filter_t tag_lvl = NULL ;
754+ ulog_tag_lvl_filter_t tag_lvl = NULL ;
764755 int result = RT_EOK ;
765756
766757 RT_ASSERT (level <= LOG_FILTER_LVL_ALL );
@@ -773,7 +764,7 @@ int ulog_tag_lvl_filter_set(const char *tag, rt_uint32_t level)
773764 /* find the tag in list */
774765 for (node = rt_slist_first (& ulog .filter .tag_lvl_list ); node ; node = rt_slist_next (node ))
775766 {
776- tag_lvl = rt_slist_entry (node , struct tag_lvl_filter , list );
767+ tag_lvl = rt_slist_entry (node , struct ulog_tag_lvl_filter , list );
777768 if (!rt_strncmp (tag_lvl -> tag , tag , ULOG_FILTER_TAG_MAX_LEN ))
778769 {
779770 break ;
@@ -804,7 +795,7 @@ int ulog_tag_lvl_filter_set(const char *tag, rt_uint32_t level)
804795 if (level != LOG_FILTER_LVL_ALL )
805796 {
806797 /* new a tag's level filter */
807- tag_lvl = (tag_lvl_filter_t )rt_malloc (sizeof (struct tag_lvl_filter ));
798+ tag_lvl = (ulog_tag_lvl_filter_t )rt_malloc (sizeof (struct ulog_tag_lvl_filter ));
808799 if (tag_lvl )
809800 {
810801 rt_memset (tag_lvl -> tag , 0 , sizeof (tag_lvl -> tag ));
@@ -835,7 +826,7 @@ int ulog_tag_lvl_filter_set(const char *tag, rt_uint32_t level)
835826rt_uint32_t ulog_tag_lvl_filter_get (const char * tag )
836827{
837828 rt_slist_t * node ;
838- tag_lvl_filter_t tag_lvl = NULL ;
829+ ulog_tag_lvl_filter_t tag_lvl = NULL ;
839830 rt_uint32_t level = LOG_FILTER_LVL_ALL ;
840831
841832 if (!ulog .init_ok )
@@ -846,7 +837,7 @@ rt_uint32_t ulog_tag_lvl_filter_get(const char *tag)
846837 /* find the tag in list */
847838 for (node = rt_slist_first (& ulog .filter .tag_lvl_list ); node ; node = rt_slist_next (node ))
848839 {
849- tag_lvl = rt_slist_entry (node , struct tag_lvl_filter , list );
840+ tag_lvl = rt_slist_entry (node , struct ulog_tag_lvl_filter , list );
850841 if (!rt_strncmp (tag_lvl -> tag , tag , ULOG_FILTER_TAG_MAX_LEN ))
851842 {
852843 level = tag_lvl -> level ;
@@ -859,6 +850,16 @@ rt_uint32_t ulog_tag_lvl_filter_get(const char *tag)
859850 return level ;
860851}
861852
853+ /**
854+ * get the tag's level list on filter
855+ *
856+ * @return tag's level list
857+ */
858+ rt_slist_t * ulog_tag_lvl_list_get (void )
859+ {
860+ return & ulog .filter .tag_lvl_list ;
861+ }
862+
862863/**
863864 * set log global filter level
864865 *
@@ -873,6 +874,18 @@ void ulog_global_filter_lvl_set(rt_uint32_t level)
873874 ulog .filter .level = level ;
874875}
875876
877+ /**
878+ * get log global filter level
879+ *
880+ * @return log level: LOG_LVL_ASSERT, LOG_LVL_ERROR, LOG_LVL_WARNING, LOG_LVL_INFO, LOG_LVL_DBG
881+ * LOG_FILTER_LVL_SILENT: disable all log output, except assert level
882+ * LOG_FILTER_LVL_ALL: enable all log output
883+ */
884+ rt_uint32_t ulog_global_filter_lvl_get (void )
885+ {
886+ return ulog .filter .level ;
887+ }
888+
876889/**
877890 * set log global filter tag
878891 *
@@ -885,6 +898,16 @@ void ulog_global_filter_tag_set(const char *tag)
885898 rt_strncpy (ulog .filter .tag , tag , ULOG_FILTER_TAG_MAX_LEN );
886899}
887900
901+ /**
902+ * get log global filter tag
903+ *
904+ * @return tag
905+ */
906+ const char * ulog_global_filter_tag_get (void )
907+ {
908+ return ulog .filter .tag ;
909+ }
910+
888911/**
889912 * set log global filter keyword
890913 *
@@ -897,6 +920,16 @@ void ulog_global_filter_kw_set(const char *keyword)
897920 rt_strncpy (ulog .filter .keyword , keyword , ULOG_FILTER_KW_MAX_LEN );
898921}
899922
923+ /**
924+ * get log global filter keyword
925+ *
926+ * @return keyword
927+ */
928+ const char * ulog_global_filter_kw_get (void )
929+ {
930+ return ulog .filter .keyword ;
931+ }
932+
900933#if defined(RT_USING_FINSH ) && defined(FINSH_USING_MSH )
901934#include <finsh.h>
902935
@@ -1198,10 +1231,10 @@ void ulog_deinit(void)
11981231#ifdef ULOG_USING_FILTER
11991232 /* deinit tag's level filter */
12001233 {
1201- tag_lvl_filter_t tag_lvl ;
1234+ ulog_tag_lvl_filter_t tag_lvl ;
12021235 for (node = rt_slist_first (& ulog .filter .tag_lvl_list ); node ; node = rt_slist_next (node ))
12031236 {
1204- tag_lvl = rt_slist_entry (node , struct tag_lvl_filter , list );
1237+ tag_lvl = rt_slist_entry (node , struct ulog_tag_lvl_filter , list );
12051238 rt_free (tag_lvl );
12061239 }
12071240 }
0 commit comments