Diff for /include/ldap_log.h between versions 1.27 and 1.40.2.10

version 1.27, 2002/07/11 18:33:24 version 1.40.2.10, 2011/01/26 18:32:52
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/include/ldap_log.h,v 1.26 2002/01/04 19:40:30 kurt Exp $ */  /* $OpenLDAP$ */
 /*  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * Copyright 1998-2002 The OpenLDAP Foundation, Redwood City, California, USA   * 
    * Copyright 1998-2011 The OpenLDAP Foundation.
  * All rights reserved.   * All rights reserved.
  *   *
  * Redistribution and use in source and binary forms, with or without   * Redistribution and use in source and binary forms, with or without
  * modification, are permitted only as authorized by the OpenLDAP   * modification, are permitted only as authorized by the OpenLDAP
  * Public License.  A copy of this license is available at   * Public License.
  * http://www.OpenLDAP.org/license.html or in file LICENSE in the   *
  * top-level directory of the distribution.   * A copy of this license is available in file LICENSE in the
    * top-level directory of the distribution or, alternatively, at
    * <http://www.OpenLDAP.org/license.html>.
  */   */
 /* Portions  /* Portions Copyright (c) 1990 Regents of the University of Michigan.
  * Copyright (c) 1990 Regents of the University of Michigan.  
  * All rights reserved.   * All rights reserved.
  *   *
  * Redistribution and use in source and binary forms are permitted   * Redistribution and use in source and binary forms are permitted
Line 21 Line 23
  * is provided ``as is'' without express or implied warranty.   * is provided ``as is'' without express or implied warranty.
  */   */
   
 #ifndef _LDAP_LOG_H  #ifndef LDAP_LOG_H
 #define _LDAP_LOG_H  #define LDAP_LOG_H
   
 #include <stdio.h>  #include <stdio.h>
 #include <ldap_cdefs.h>  #include <ldap_cdefs.h>
Line 30 Line 32
 LDAP_BEGIN_DECL  LDAP_BEGIN_DECL
   
 /*  /*
  * While it's not important that the subsystem number are  
  * contiguous, it is important that the LDAP_SUBSYS_NUM accurately  
  * reflect the number of subsystems and LDAP_SUBSYS_MAX reflect  
  * the largest subsystem number.  
  */  
 #define LDAP_SUBSYS_NUM 20  
 #define LDAP_SUBSYS_MAX 19  
   
 #define LDAP_SUBSYS_GLOBAL      0  
 #define LDAP_SUBSYS_OPERATION   1  
 #define LDAP_SUBSYS_TRANSPORT   2  
 #define LDAP_SUBSYS_CONNECTION  3  
 #define LDAP_SUBSYS_FILTER      4  
 #define LDAP_SUBSYS_BER         5  
 #define LDAP_SUBSYS_CONFIG      6  
 #define LDAP_SUBSYS_ACL         7  
 #define LDAP_SUBSYS_CACHE       8  
 #define LDAP_SUBSYS_INDEX       9  
 #define LDAP_SUBSYS_LDIF        10  
 #define LDAP_SUBSYS_TOOLS       11  
 #define LDAP_SUBSYS_SLAPD       12  
 #define LDAP_SUBSYS_SLURPD      13  
 #define LDAP_SUBSYS_BACKEND     14  
 #define LDAP_SUBSYS_BACK_BDB    15  
 #define LDAP_SUBSYS_BACK_LDBM   16  
 #define LDAP_SUBSYS_BACK_LDAP   17  
 #define LDAP_SUBSYS_BACK_META   18  
 #define LDAP_SUBSYS_BACK_MON    19  
   
 /*  
  * debug reporting levels.   * debug reporting levels.
  *   *
  * They start with the syslog levels, and   * They start with the syslog levels, and
Line 67  LDAP_BEGIN_DECL Line 39  LDAP_BEGIN_DECL
  * debugging levels begin with LDAP_LEVEL_ENTRY   * debugging levels begin with LDAP_LEVEL_ENTRY
  *   *
  */   */
 #define LDAP_LEVEL_EMERG       0  
 #define LDAP_LEVEL_ALERT       1  
 #define LDAP_LEVEL_CRIT        2  
 #define LDAP_LEVEL_ERR         3  
 #define LDAP_LEVEL_WARNING     4  
 #define LDAP_LEVEL_NOTICE      5  
 #define LDAP_LEVEL_INFO        6  
 #define LDAP_LEVEL_ENTRY       7  /* log function entry points */  
 #define LDAP_LEVEL_ARGS        8  /* log function call parameters */  
 #define LDAP_LEVEL_RESULTS     9  /* Log function results */  
 #define LDAP_LEVEL_DETAIL1    10  /* log level 1 function operational details */  
 #define LDAP_LEVEL_DETAIL2    11  /* Log level 2 function operational details */  
   
   /*
    * The "OLD_DEBUG" means that all logging occurs at LOG_DEBUG
    */
   
   #ifdef OLD_DEBUG
   /* original behavior: all logging occurs at the same severity level */
   #if defined(LDAP_DEBUG) && defined(LDAP_SYSLOG)
   #define LDAP_LEVEL_EMERG        ldap_syslog_level
   #define LDAP_LEVEL_ALERT        ldap_syslog_level
   #define LDAP_LEVEL_CRIT         ldap_syslog_level
   #define LDAP_LEVEL_ERR          ldap_syslog_level
   #define LDAP_LEVEL_WARNING      ldap_syslog_level
   #define LDAP_LEVEL_NOTICE       ldap_syslog_level
   #define LDAP_LEVEL_INFO         ldap_syslog_level
   #define LDAP_LEVEL_DEBUG        ldap_syslog_level
   #else /* !LDAP_DEBUG || !LDAP_SYSLOG */
   #define LDAP_LEVEL_EMERG        (7)
   #define LDAP_LEVEL_ALERT        (7)
   #define LDAP_LEVEL_CRIT         (7)
   #define LDAP_LEVEL_ERR          (7)
   #define LDAP_LEVEL_WARNING      (7)
   #define LDAP_LEVEL_NOTICE       (7)
   #define LDAP_LEVEL_INFO         (7)
   #define LDAP_LEVEL_DEBUG        (7)
   #endif /* !LDAP_DEBUG || !LDAP_SYSLOG */
   
   #else /* ! OLD_DEBUG */
   /* map syslog onto LDAP severity levels */
   #ifdef LOG_DEBUG
   #define LDAP_LEVEL_EMERG        LOG_EMERG
   #define LDAP_LEVEL_ALERT        LOG_ALERT
   #define LDAP_LEVEL_CRIT         LOG_CRIT
   #define LDAP_LEVEL_ERR          LOG_ERR
   #define LDAP_LEVEL_WARNING      LOG_WARNING
   #define LDAP_LEVEL_NOTICE       LOG_NOTICE
   #define LDAP_LEVEL_INFO         LOG_INFO
   #define LDAP_LEVEL_DEBUG        LOG_DEBUG
   #else /* ! LOG_DEBUG */
   #define LDAP_LEVEL_EMERG        (0)
   #define LDAP_LEVEL_ALERT        (1)
   #define LDAP_LEVEL_CRIT         (2)
   #define LDAP_LEVEL_ERR          (3)
   #define LDAP_LEVEL_WARNING      (4)
   #define LDAP_LEVEL_NOTICE       (5)
   #define LDAP_LEVEL_INFO         (6)
   #define LDAP_LEVEL_DEBUG        (7)
   #endif /* ! LOG_DEBUG */
   #endif /* ! OLD_DEBUG */
   #if 0
   /* in case we need to reuse the unused bits of severity */
   #define LDAP_LEVEL_MASK(s)      ((s) & 0x7)
   #else
   #define LDAP_LEVEL_MASK(s)      (s)
   #endif
   
   /* (yet) unused */
   #define LDAP_LEVEL_ENTRY        (0x08)  /* log function entry points */
   #define LDAP_LEVEL_ARGS         (0x10)  /* log function call parameters */
   #define LDAP_LEVEL_RESULTS      (0x20)  /* Log function results */
   #define LDAP_LEVEL_DETAIL1      (0x40)  /* log level 1 function operational details */
   #define LDAP_LEVEL_DETAIL2      (0x80)  /* Log level 2 function operational details */
   /* end of (yet) unused */
   
   /* original subsystem selection mechanism */
 #define LDAP_DEBUG_TRACE        0x0001  #define LDAP_DEBUG_TRACE        0x0001
 #define LDAP_DEBUG_PACKETS      0x0002  #define LDAP_DEBUG_PACKETS      0x0002
 #define LDAP_DEBUG_ARGS         0x0004  #define LDAP_DEBUG_ARGS         0x0004
Line 92  LDAP_BEGIN_DECL Line 116  LDAP_BEGIN_DECL
 #define LDAP_DEBUG_STATS2       0x0200  #define LDAP_DEBUG_STATS2       0x0200
 #define LDAP_DEBUG_SHELL        0x0400  #define LDAP_DEBUG_SHELL        0x0400
 #define LDAP_DEBUG_PARSE        0x0800  #define LDAP_DEBUG_PARSE        0x0800
 #define LDAP_DEBUG_CACHE    0x1000  #if 0 /* no longer used (nor supported) */
 #define LDAP_DEBUG_INDEX    0x2000  #define LDAP_DEBUG_CACHE        0x1000
   #define LDAP_DEBUG_INDEX        0x2000
   #endif
   #define LDAP_DEBUG_SYNC         0x4000
   
 #define LDAP_DEBUG_DEPRECATED   0x1000  
 #define LDAP_DEBUG_NONE         0x8000  #define LDAP_DEBUG_NONE         0x8000
 #define LDAP_DEBUG_ANY          -1  #define LDAP_DEBUG_ANY          (-1)
   
 /* debugging stuff */  /* debugging stuff */
 #ifdef LDAP_DEBUG  #ifdef LDAP_DEBUG
   
     /*      /*
      * This is a bogus extern declaration for the compiler. No need to ensure       * This is a bogus extern declaration for the compiler. No need to ensure
      * a 'proper' dllimport.       * a 'proper' dllimport.
      */       */
 #   ifndef ldap_debug  #ifndef ldap_debug
      extern int ldap_debug;  extern int      ldap_debug;
 #   endif /* !ldap_debug */  #endif /* !ldap_debug */
   
 #   ifdef LDAP_SYSLOG  #ifdef LDAP_SYSLOG
     extern int  ldap_syslog;  extern int      ldap_syslog;
     extern int  ldap_syslog_level;  extern int      ldap_syslog_level;
 #   endif /* LDAP_SYSLOG */  
   #ifdef HAVE_EBCDIC
   #define syslog  eb_syslog
   extern void eb_syslog(int pri, const char *fmt, ...);
   #endif /* HAVE_EBCDIC */
   
   #endif /* LDAP_SYSLOG */
   
 /* this doesn't below as part of ldap.h */  /* this doesn't below as part of ldap.h */
 #   ifdef LDAP_SYSLOG  #ifdef LDAP_SYSLOG
 #   define Debug( level, fmt, arg1, arg2, arg3 )        \  #define Log0( level, severity, fmt )    \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt) ); \
                   if ( ldap_syslog & (level) ) \
                           syslog( LDAP_LEVEL_MASK((severity)), (fmt) ); \
           } while ( 0 )
   #define Log1( level, severity, fmt, arg1 )      \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1) ); \
                   if ( ldap_syslog & (level) ) \
                           syslog( LDAP_LEVEL_MASK((severity)), (fmt), (arg1) ); \
           } while ( 0 )
   #define Log2( level, severity, fmt, arg1, arg2 ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2) ); \
                   if ( ldap_syslog & (level) ) \
                           syslog( LDAP_LEVEL_MASK((severity)), (fmt), (arg1), (arg2) ); \
           } while ( 0 )
   #define Log3( level, severity, fmt, arg1, arg2, arg3 ) \
         do { \          do { \
                 if ( ldap_debug & (level) ) \                  if ( ldap_debug & (level) ) \
                         lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) ); \                          lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) ); \
                 if ( ldap_syslog & (level) ) \                  if ( ldap_syslog & (level) ) \
                         syslog( ldap_syslog_level, (fmt), (arg1), (arg2), (arg3) ); \                          syslog( LDAP_LEVEL_MASK((severity)), (fmt), (arg1), (arg2), (arg3) ); \
           } while ( 0 )
   #define Log4( level, severity, fmt, arg1, arg2, arg3, arg4 ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3), (arg4) ); \
                   if ( ldap_syslog & (level) ) \
                           syslog( LDAP_LEVEL_MASK((severity)), (fmt), (arg1), (arg2), (arg3), (arg4) ); \
         } while ( 0 )          } while ( 0 )
   #define Log5( level, severity, fmt, arg1, arg2, arg3, arg4, arg5 ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3), (arg4), (arg5) ); \
                   if ( ldap_syslog & (level) ) \
                           syslog( LDAP_LEVEL_MASK((severity)), (fmt), (arg1), (arg2), (arg3), (arg4), (arg5) ); \
           } while ( 0 )
   #define Debug( level, fmt, arg1, arg2, arg3 )   \
           Log3( (level), ldap_syslog_level, (fmt), (arg1), (arg2), (arg3) )
   #define LogTest(level) ( ( ldap_debug | ldap_syslog ) & (level) )
   
 #   else  #else /* ! LDAP_SYSLOG */
 #       define Debug( level, fmt, arg1, arg2, arg3 ) \  #define Log0( level, severity, fmt ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt) ); \
           } while ( 0 )
   #define Log1( level, severity, fmt, arg1 ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1) ); \
           } while ( 0 )
   #define Log2( level, severity, fmt, arg1, arg2 ) \
           do { \
                   if ( ldap_debug & (level) ) \
                           lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2) ); \
           } while ( 0 )
   #define Log3( level, severity, fmt, arg1, arg2, arg3 ) \
         do { \          do { \
                 if ( ldap_debug & (level) ) \                  if ( ldap_debug & (level) ) \
                         lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) ); \                          lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) ); \
         } while ( 0 )          } while ( 0 )
 #   endif  #define Log4( level, severity, fmt, arg1, arg2, arg3, arg4 ) \
           do { \
 #else /* LDAP_DEBUG */                  if ( ldap_debug & (level) ) \
 #   define Debug( level, fmt, arg1, arg2, arg3 )                          lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3), (arg4) ); \
           } while ( 0 )
 #endif /* LDAP_DEBUG */  #define Log5( level, severity, fmt, arg1, arg2, arg3, arg4, arg5 ) \
           do { \
 #ifdef NEW_LOGGING                  if ( ldap_debug & (level) ) \
 extern int ldap_loglevels[LDAP_SUBSYS_NUM];                          lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3), (arg4), (arg5) ); \
 #define LDAP_LOG(a, b, fmt, arg1, arg2, arg3) do {\          } while ( 0 )
         if (ldap_loglevels[LDAP_SUBSYS_##a] >= LDAP_LEVEL_##b || \  #define Debug( level, fmt, arg1, arg2, arg3 ) \
                 ldap_loglevels[LDAP_SUBSYS_GLOBAL] >= LDAP_LEVEL_##b)\                  Log3( (level), 0, (fmt), (arg1), (arg2), (arg3) )
                    lutil_log (LDAP_SUBSYS_##a, LDAP_LEVEL_##b, fmt, arg1, arg2, arg3); \  #define LogTest(level) ( ldap_debug & (level) )
         } while (0)  #endif /* ! LDAP_SYSLOG */
   #else /* ! LDAP_DEBUG */
   /* TODO: in case LDAP_DEBUG is undefined, make sure logs with appropriate
 #define LDAP_LOGS_TEST(a, b) \   * severity gets thru anyway */
         (ldap_loglevels[LDAP_SUBSYS_##a] >= LDAP_LEVEL_##b || \  #define Log0( level, severity, fmt ) ((void)0)
          ldap_loglevels[LDAP_SUBSYS_GLOBAL] >= LDAP_LEVEL_##b)  #define Log1( level, severity, fmt, arg1 ) ((void)0)
   #define Log2( level, severity, fmt, arg1, arg2 ) ((void)0)
 #endif /* LDAP_LOG */  #define Log3( level, severity, fmt, arg1, arg2, arg3 ) ((void)0)
   #define Log4( level, severity, fmt, arg1, arg2, arg3, arg4 ) ((void)0)
 #ifndef LDAP_LOG  #define Log5( level, severity, fmt, arg1, arg2, arg3, arg4, arg5 ) ((void)0)
 #define LDAP_LOG(a, b, fmt, arg1, arg2, arg3)  #define Debug( level, fmt, arg1, arg2, arg3 ) ((void)0)
 #endif  #define LogTest(level) ( 0 )
   #endif /* ! LDAP_DEBUG */
 LDAP_LUTIL_F(int) lutil_mnem2level LDAP_P(( const char *level ));  
 LDAP_LUTIL_F(void) lutil_log_initialize LDAP_P((  
         int argc, char **argv ));  
 LDAP_LUTIL_F(int) lutil_set_debug_level LDAP_P((  
         const char *subsys, int level ));  
 LDAP_LUTIL_F(void) lutil_log LDAP_P((  
         const int subsys, int level, const char *fmt, ... ));  
   
   /* Actually now in liblber/debug.c */
 LDAP_LUTIL_F(int) lutil_debug_file LDAP_P(( FILE *file ));  LDAP_LUTIL_F(int) lutil_debug_file LDAP_P(( FILE *file ));
   
   
 LDAP_LUTIL_F(void) lutil_debug LDAP_P((  LDAP_LUTIL_F(void) lutil_debug LDAP_P((
         int debug, int level,          int debug, int level,
         const char* fmt, ... )) LDAP_GCCATTR((format(printf, 3, 4)));          const char* fmt, ... )) LDAP_GCCATTR((format(printf, 3, 4)));
   
   #ifdef LDAP_DEFINE_LDAP_DEBUG
   /* This struct matches the head of ldapoptions in <ldap-int.h> */
   struct ldapoptions_prefix {
           short   ldo_valid;
           int             ldo_debug;
   };
   #define ldap_debug \
           (*(int *) ((char *)&ldap_int_global_options \
                    + offsetof(struct ldapoptions_prefix, ldo_debug)))
   
   struct ldapoptions;
   LDAP_V ( struct ldapoptions ) ldap_int_global_options;
   #endif /* LDAP_DEFINE_LDAP_DEBUG */
   
 LDAP_END_DECL  LDAP_END_DECL
   
 #endif /* _LDAP_LOG_H */  #endif /* LDAP_LOG_H */

Removed from v.1.27  
changed lines
  Added in v.1.40.2.10


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org