lib/util/debug: with log level = 10 we should be more verbose
authorStefan Metzmacher <metze@samba.org>
Tue, 15 Nov 2011 20:50:54 +0000 (21:50 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 16 Nov 2011 11:25:01 +0000 (12:25 +0100)
log level = 10 already impacts performance, so we can turn on
more details and print the pid, [e][u|g]id and class information.

So it implies "debug pid = yes", "debug uid = yes" and "debug class = yes".

This generates a lot more useful log files.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Nov 16 12:25:02 CET 2011 on sn-devel-104

lib/util/debug.c

index cc57ba8419ea3766e2e6bb1674ad4f347ab25ae3..a6388513c72d1a790c16e3d61c8f98db20fdee83 100644 (file)
@@ -944,14 +944,19 @@ bool dbghdrclass(int level, int cls, const char *location, const char *func)
         * not yet loaded, then default to timestamps on.
         */
        if( state.settings.timestamp_logs || state.settings.debug_prefix_timestamp) {
+               bool verbose = false;
                char header_str[200];
 
                header_str[0] = '\0';
 
-               if( state.settings.debug_pid)
+               if (unlikely(DEBUGLEVEL_CLASS[ cls ] >= 10)) {
+                       verbose = true;
+               }
+
+               if (verbose || state.settings.debug_pid)
                        slprintf(header_str,sizeof(header_str)-1,", pid=%u",(unsigned int)getpid());
 
-               if( state.settings.debug_uid) {
+               if (verbose || state.settings.debug_uid) {
                        size_t hs_len = strlen(header_str);
                        slprintf(header_str + hs_len,
                        sizeof(header_str) - 1 - hs_len,
@@ -960,7 +965,8 @@ bool dbghdrclass(int level, int cls, const char *location, const char *func)
                                (unsigned int)getuid(), (unsigned int)getgid());
                }
 
-               if (state.settings.debug_class && (cls != DBGC_ALL)) {
+               if ((verbose || state.settings.debug_class)
+                   && (cls != DBGC_ALL)) {
                        size_t hs_len = strlen(header_str);
                        slprintf(header_str + hs_len,
                                 sizeof(header_str) -1 - hs_len,