]> rtime.felk.cvut.cz Git - ulut.git/commitdiff
Conversion to new logging support finished.
authorppisa <ppisa>
Sun, 30 Jul 2006 23:37:07 +0000 (23:37 +0000)
committerppisa <ppisa>
Sun, 30 Jul 2006 23:37:07 +0000 (23:37 +0000)
It is now possible to selectively enable and set verbosity
for different logging domains from commandline.
The option "-g" argument syntax is same for all tools.
Number without domain specifier or with symbol "all"
select log level for all domains. Domain name followed
by "." or "=" character selects level for specified domain.
More specifications can be concatenated by symbol ":" or ",".
Usage example:

   -g 1:domone.5:domtwo.6

Requires to select level 1 for all but two listed two specified
domains. Log levels for "domone" and "domtwo" domains are set
to 5 or 6 respectively.

ulut/ul_logbase.c
ulut/ul_logbase.h
ulut/ul_logreg.c

index 69b1d34a817230ba3b80a4d871b412cb4f32a015..af7f8a83114fa7b1ceb383890c850a50b5e00b8c 100644 (file)
@@ -48,9 +48,9 @@ int ul_log_cutoff_level;
 
 int ul_log_cond(ul_log_domain_t *domain, int level)
 {
-  if(!domain || (level > UL_LOGL_MAX))
+  if(!domain || ((level&UL_LOGL_MASK) > UL_LOGL_MAX))
     return 0;
-  return level <= domain->level;
+  return (level&UL_LOGL_MASK) <= domain->level;
 }
 
 void ul_vlog(ul_log_domain_t *domain, int level,
index 3afbba75aa5f83b0865544a41eac6eda8d636bdb..4136e086b1f71a49f2905b9d6de30701922a4684 100644 (file)
@@ -85,9 +85,9 @@ void ul_log(ul_log_domain_t *domain, int level,
 static inline
 int ul_log_cond(ul_log_domain_t *domain, int level)
 {
-  if(!domain || (level > UL_LOGL_MAX))
+  if(!domain || ((level&UL_LOGL_MASK) > UL_LOGL_MAX))
     return 0;
-  return level <= domain->level;
+  return (level&UL_LOGL_MASK) <= domain->level;
 }
 
 static inline
index 7b23c68314d83b8b1053eb855e21c9db10f0b386..e6fe1323a918c4a6d1c982f2e96a1fcd1ead74bc 100644 (file)
@@ -80,9 +80,12 @@ int ul_log_domain_setlevel(const char *name, int setlevel)
   ul_log_domains_it_t it;
   ul_log_domain_t *domain=NULL;
 
-  if((setlevel<0) || (setlevel>UL_LOGL_MAX))
+  if(setlevel<0)
     return -1;
 
+  if(setlevel>UL_LOGL_MAX)
+    setlevel=UL_LOGL_MAX;
+
   if(!name)
     all_fl=1;
   else
@@ -148,10 +151,10 @@ int ul_log_domain_arg2levels(const char *arg)
         return p-arg;
       p++;
     }
-    l=strtol(p,(char**)&r,0);
-    if(!r||(p==r)||(*p&&(*p!=':')&&(*p!=',')))
+    r=p;
+    l=strtol(r,(char**)&p,0);
+    if(!p||(p==r)||(*p&&(*p!=':')&&(*p!=',')))
       return p-arg;
-    p=r;
     if(ul_log_domain_setlevel(name, l)<0)
       return p-arg;
     if(*p)