]> err.no Git - sope/commitdiff
fixed another logging problem
authorznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 4 Apr 2005 22:23:15 +0000 (22:23 +0000)
committerznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 4 Apr 2005 22:23:15 +0000 (22:23 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@711 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-core/NGExtensions/ChangeLog
sope-core/NGExtensions/FdExt.subproj/NSObject+Logs.m
sope-core/NGExtensions/NGExtensions.xcode/project.pbxproj
sope-core/NGExtensions/Version

index 32e198967f0090e8e3fcdc63557a711c02556a27..e63f6a110b5f1851fbba67332b2a2393409d3af3 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-04  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * FdExt.subproj/NSObject+Logs.m: fixed previously broken implementation
+         of -logger which now has an NSMapTable for class <-> logger
+         lookup. (v4.5.157)
+
 2005-03-17  Helge Hess  <helge.hess@opengroupware.org>
 
        * v4.5.156
index 65087c561711b2ef5145f1941cd259dfd5640d25..6f5ba65a7a88ac374443535655e20611f802fde2 100644 (file)
@@ -42,22 +42,22 @@ static inline Class NSStringClass(void) {
 }
 
 - (id)logger {
-  static id logger = nil;
-  
-  if (logger == nil) {
-    NGLoggerManager *lm;
-    
-    lm = [NGLoggerManager defaultLoggerManager];
+  static NSMapTable      *loggerForClassMap = NULL;
+  static NGLoggerManager *lm                = nil;
+  NGLogger *logger;
 
-#if 0 // broken: if [self class] is passed in, 'logger' can't be a static
-    logger = [lm loggerForClass:[self class]];
-#else
-    logger = [lm loggerForClass:[NSObject class]];
-#if 0
-    NSLog(@"%@: created logger: %@", self, logger);
-#endif
-#endif
+  if (!loggerForClassMap) {
+    loggerForClassMap = NSCreateMapTable(NSNonOwnedPointerMapKeyCallBacks,
+                                         NSNonRetainedObjectMapValueCallBacks,
+                                         200);
+    lm = [NGLoggerManager defaultLoggerManager];
   }
+  logger = NSMapGet(loggerForClassMap, self->isa);
+  if (!logger) {
+    logger = [lm loggerForClass:self->isa];
+    NSMapInsert(loggerForClassMap, self->isa, logger);
+  }
+
   return logger;
 }
 
index 41844a002ff7c0ad766837ae275286d9eb80a250..39ed45adb4bfc84608172275065eb9d8645bcf80 100644 (file)
                        );
                        buildSettings = {
                                DYLIB_COMPATIBILITY_VERSION = 1;
-                               DYLIB_CURRENT_VERSION = 4.5.156;
+                               DYLIB_CURRENT_VERSION = 4.5.157;
                                FRAMEWORK_SEARCH_PATHS = "$(LOCAL_LIBRARY_DIR)/Frameworks";
                                FRAMEWORK_VERSION = A;
                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
index 41bb842eeb3a18014179d08f9b9eec94b11cff8d..d4e246804e32aac866340a0a0fbd1e1a858b3de5 100644 (file)
@@ -1,6 +1,6 @@
 # version
 
-SUBMINOR_VERSION:=156
+SUBMINOR_VERSION:=157
 
 # v4.3.115 requires libFoundation v1.0.59
 # v4.2.72  requires libEOControl  v4.2.39