]> err.no Git - sope/commitdiff
fixes for NGLogging
authorznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 17 Nov 2004 16:25:46 +0000 (16:25 +0000)
committerznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Wed, 17 Nov 2004 16:25:46 +0000 (16:25 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@388 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-core/NGExtensions/ChangeLog
sope-core/NGExtensions/NGExtensions/NSObject+ExtendedLogging.h
sope-core/NGExtensions/NGLogging.subproj/ChangeLog
sope-core/NGExtensions/NGLogging.subproj/NGLogger.m
sope-core/NGExtensions/NGLogging.subproj/NSObject+ExtendedLogging.m
sope-core/NGExtensions/Version

index d3ac7212b873ca0a0f40b9feb88dbb7a99e1836d..29e08c57cbb32a2861da7dd0cd6c30640c09e049 100644 (file)
@@ -1,3 +1,7 @@
+2004-11-17  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * NGLogging: updated (v4.5.131)
+
 2004-11-17  Matthew Joyce  <mjoyce@aboveit.nl>
 
        * NGBundleManager.m: check whether bundle is nil prior running a type
index e4cd2dabe5b5b9e3f4da319eb71508976551706d..afdf3dea613e9c6a83d2453af07c8854770ed891 100644 (file)
 
 typedef enum {
   NGLogLevelOff   = 0,
-  NGLogLevelDebug = 1,
-  NGLogLevelInfo  = 2,
+  NGLogLevelFatal = 1,
+  NGLogLevelError = 2,
   NGLogLevelWarn  = 3,
-  NGLogLevelError = 4,
-  NGLogLevelFatal = 5,
+  NGLogLevelInfo  = 4,
+  NGLogLevelDebug = 5,
   NGLogLevelAll   = 6
 } NGLogLevel;
 
index 3996480a452fd23f421302b2d021c026fc3e822a..dfb9ca4e2c75ba6298ef3e4a8da36e069775ee0e 100644 (file)
@@ -1,3 +1,15 @@
+2004-11-17  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * NSObject+NGExtendedLogging.h: fixed some serious misordering in
+         log levels (thanks to Helge Hess for reporting this! ;-)
+
+       * NSObject+NGExtendedLogging.m: some optimizations to default logging
+         facilities (check wheter loglevel is enabled before allocating
+         strings which is expensive).
+
+       * NGLogger.m: changed some code to address changes in NGLogLevel,
+         shortcut logging immediately if minimum log level is not met.
+
 2004-11-12  Helge Hess  <helge.hess@opengroupware.org>
        
        * deprecated -defaultManager in favor of -defaultLoggerManager
index 0799ac9a2e268d2a5fff997b7ecdc34c474fb3ac..d6abd8e060b27679903d3c8d02f0455ae21bde16 100644 (file)
 
 @implementation NGLogger
 
-static Class StrClass = Nil;
+static Class NSStringClass = Nil;
 
 + (void)initialize {
-  StrClass = [NSString class];
+  static BOOL didInit = NO;
+  if(didInit)
+    return;
+  didInit = YES;
+  NSStringClass = [NSString class];
 }
 
 - (id)init {
@@ -63,56 +67,54 @@ static Class StrClass = Nil;
 - (void)setLogLevel:(NGLogLevel)_level {
   self->logLevel = _level;
 }
-
 - (NGLogLevel)logLevel {
   return self->logLevel;
 }
 
 /* logging */
 
+- (void)logLevel:(NGLogLevel)_level message:(NSString *)_msg {
+  NGLogEvent *event;
+
+  if(self->logLevel < _level)
+    return;
+
+  event = [[NGLogEvent alloc] initWithLevel:_level message:_msg];
+  
+  // iterate appenders
+  // TODO: as soon as we have more appenders, we need to iterate on them
+  [self->_appender appendLogEvent:event];
+  [event release];
+}
+
 - (void)logLevel:(NGLogLevel)_level withFormat:(NSString *)_fmt, ... {
   NSString *msg;
   va_list va;
   
-  if(self->logLevel > _level)
+  if(self->logLevel < _level)
     return;
   
   va_start(va, _fmt);
-  msg = [[StrClass alloc] initWithFormat:_fmt arguments:va];
+  msg = [[NSStringClass alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
   [self logLevel:_level message:msg];
   [msg release];
 }
 
-- (void)logLevel:(NGLogLevel)_level message:(NSString *)_msg {
-  NGLogEvent *event;
-
-  event = [[NGLogEvent alloc] initWithLevel:_level message:_msg];
-  
-  // iterate appenders
-  // TODO: as soon as we have more appenders, we need to iterate on them
-  [self->_appender appendLogEvent:event];
-  [event release];
-}
-
 /* log conditions */
 
 - (BOOL)isLogDebugEnabled {
   return self->logLevel >= NGLogLevelDebug;
 }
-
 - (BOOL)isLogInfoEnabled {
   return self->logLevel >= NGLogLevelInfo;
 }
-
 - (BOOL)isLogWarnEnabled {
   return self->logLevel >= NGLogLevelWarn;
 }
-
 - (BOOL)isLogErrorEnabled {
   return self->logLevel >= NGLogLevelError;
 }
-
 - (BOOL)isLogFatalEnabled {
   return self->logLevel >= NGLogLevelFatal;
 }
index 0e28bf2d84d666d83c29b42100bfc52613002484..4551c7e8896b16a8fe100ca86fb5947bab614e65 100644 (file)
 /* log methods */
 
 - (void)logDebugWithFormat:(NSString *)_fmt, ... {
+  NGLogger *logger;
   NSString *msg;
   va_list va;
   
+  logger = [self logger];
+  if(![logger isLogDebugEnabled])
+    return;
+  
   va_start(va, _fmt);
   msg = [[NSString alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
-  [self logLevel:NGLogLevelDebug message:msg];
+  [logger logLevel:NGLogLevelDebug message:msg];
   [msg release];
 }
 
 - (void)logInfoWithFormat:(NSString *)_fmt, ... {
+  NGLogger *logger;
   NSString *msg;
   va_list va;
   
+  logger = [self logger];
+  if(![logger isLogInfoEnabled])
+    return;
+  
   va_start(va, _fmt);
   msg = [[NSString alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
-  [self logLevel:NGLogLevelInfo message:msg];
+  [logger logLevel:NGLogLevelInfo message:msg];
   [msg release];
 }
 
 - (void)logWarnWithFormat:(NSString *)_fmt, ... {
+  NGLogger *logger;
   NSString *msg;
   va_list va;
   
+  logger = [self logger];
+  if(![logger isLogWarnEnabled])
+    return;
+  
   va_start(va, _fmt);
   msg = [[NSString alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
-  [self logLevel:NGLogLevelWarn message:msg];
+  [logger logLevel:NGLogLevelWarn message:msg];
   [msg release];
 }
 
 - (void)logErrorWithFormat:(NSString *)_fmt, ... {
+  NGLogger *logger;
   NSString *msg;
   va_list va;
   
+  logger = [self logger];
+  if(![logger isLogErrorEnabled])
+    return;
+  
   va_start(va, _fmt);
   msg = [[NSString alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
-  [self logLevel:NGLogLevelError message:msg];
+  [logger logLevel:NGLogLevelError message:msg];
   [msg release];
 }
 
 - (void)logFatalWithFormat:(NSString *)_fmt, ... {
+  NGLogger *logger;
   NSString *msg;
   va_list va;
-  
+
+  logger = [self logger];
+  if(![logger isLogFatalEnabled])
+    return;
+
   va_start(va, _fmt);
   msg = [[NSString alloc] initWithFormat:_fmt arguments:va];
   va_end(va);
-  [self logLevel:NGLogLevelFatal message:msg];
+  [logger logLevel:NGLogLevelFatal message:msg];
   [msg release];
 }
 
index d22cd07611d4c45eaca8af948f2ca11b502ebf1c..d4cea4ee617f91cd7192d97f72ca91cccb74d872 100644 (file)
@@ -1,6 +1,6 @@
 # version
 
-SUBMINOR_VERSION:=130
+SUBMINOR_VERSION:=131
 
 # v4.3.115 requires libFoundation v1.0.59
 # v4.2.72  requires libEOControl  v4.2.39