]> err.no Git - scalable-opengroupware.org/commitdiff
syslog appender -> tested
authorznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 27 May 2004 15:39:32 +0000 (15:39 +0000)
committerznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 27 May 2004 15:39:32 +0000 (15:39 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@10 d1b88da0-ebda-0310-925b-ed51d893ca5b

WebUI/ChangeLog
WebUI/NGExtensions/NGLogging/ChangeLog
WebUI/NGExtensions/NGLogging/NGLogAppender.h
WebUI/NGExtensions/NGLogging/NGLogAppender.m
WebUI/NGExtensions/NGLogging/NGLogConsoleAppender.m
WebUI/NGExtensions/NGLogging/NGLogSyslogAppender.m
WebUI/NGExtensions/NGLogging/NGLogger.m
WebUI/NOTES
WebUI/README

index dec9a5628bf9accd35893c03dc659cdf8a3e59d2..b45b24dd4ef689bf9b5de91b1b1f7ac0574897dd 100644 (file)
@@ -1,3 +1,7 @@
+2004-05-27  Marcus Mueller  <mm@skyrix.com>
+
+       * README: updated
+
 2004-05-27  Marcus Mueller  <mm@skyrix.com>
 
        * README, NOTES: updated
index ef2c49cb87f15ef6691a376adbd5885798f3196b..770975e0c9ea424c8d7963d7310b2f7def90ed96 100644 (file)
@@ -1,3 +1,15 @@
+2004-05-27  Marcus Mueller  <mm@skyrix.com>
+
+       * NGLogAppender.[hm]: introduced -formattedEvent:, currently not
+         configurable.
+
+       * NGLogSyslogAppender.m: works as expected now.
+
+       * NGLogger.m: uses new default (see README) to select the default
+         appender. Not optimal, but sufficient.
+
+       * NGLogConsoleAppender.m: changed to use -formattedEvent: now.
+
 2004-05-27  Marcus Mueller  <mm@skyrix.com>
 
        * NGLogSyslogAppender.[hm]: syslog appender, untested.
index bf00ca94c99017fa669d6f566e49a18a88c95ee3..fabab54a29e1bfa36ffd313a38bac1192c14fd3d 100644 (file)
@@ -42,6 +42,7 @@
 
 /* subclass responsibility */
 - (void)appendLogEvent:(NGLogEvent *)_event;
+- (NSString *)formattedEvent:(NGLogEvent *)_event;
 
 - (NSString *)localizedNameOfLogLevel:(NGLogLevel)_level;
 
index e8f2c18f61229bc5173b9cc3dd740e61816a1ca6..3743c843f6b915ec3be27fe7af7883b3e0828c54 100644 (file)
@@ -22,6 +22,7 @@
 
 
 #import "NGLogAppender.h"
+#import "NGLogEvent.h"
 
 
 @implementation NGLogAppender
     [self subclassResponsibility:_cmd];
 }
 
+- (NSString *)formattedEvent:(NGLogEvent *)_event {
+    return [NSString stringWithFormat:@"[%@] %@",
+        [self localizedNameOfLogLevel:[_event level]],
+        [_event message]];
+}
+
 - (NSString *)localizedNameOfLogLevel:(NGLogLevel)_level {
     NSString *name;
 
index 53eb3df618be71600b296c74102efab3392a63b6..d9a53c46e5f6d1d57b6a8f714a7f6c17e2e02757 100644 (file)
@@ -28,7 +28,7 @@
 @implementation NGLogConsoleAppender
 
 - (void)appendLogEvent:(NGLogEvent *)_event {
-    NSLog(@"%@: %@", [self localizedNameOfLogLevel:[_event level]], [_event message]);
+    NSLog([self formattedEvent:_event]);
 }
 
 @end
index f9b7dc310cf856b2a19e7d7a88c87252400513fa..856b47548afe7936ac01decfbc17ff5e4d93dc7a 100644 (file)
@@ -28,7 +28,7 @@
 
 
 @interface NGLogSyslogAppender (PrivateAPI)
-- (int)syslogPriorityForLogLevel:(NGLogLevel)_level;
+- (int)syslogLevelForLogLevel:(NGLogLevel)_level;
 @end
 
 @implementation NGLogSyslogAppender
@@ -77,10 +77,12 @@ static NSString *defaultSyslogIdentifier = nil;
 }
 
 - (void)appendLogEvent:(NGLogEvent *)_event {
+  NSString *formattedMsg;
   int level;
-    
-  level = [self syslogPriorityForLogLevel:[_event level]];
-  syslog(level, [[_event message] cString]);
+
+  formattedMsg = [self formattedEvent:_event];
+  level = [self syslogLevelForLogLevel:[_event level]];
+  syslog(level, [formattedMsg cString]);
 }
 
 - (int)syslogLevelForLogLevel:(NGLogLevel)_level {
index 9f9d4853dd346edc4b57083e3993b9569341a662..52a08de1b3bb49fb8aba621155061a05ecd340db 100644 (file)
@@ -26,7 +26,6 @@
 #include "common.h"
 #include "NGLogEvent.h"
 #include "NGLogAppender.h"
-#include "NGLogConsoleAppender.h"
 
 
 @implementation NGLogger
 
 - (id)initWithLogLevel:(NGLogLevel)_level {
     if((self = [super init])) {
+        NSUserDefaults *ud;
+        NSString *appenderClassName;
+
         [self setLogLevel:_level];
+
 #warning ** remove this as soon as we have a config
-        self->_appender = [[NGLogConsoleAppender alloc] init];
+        ud = [NSUserDefaults standardUserDefaults];
+        appenderClassName = [ud stringForKey:@"NGLogDefaultAppenderClass"];
+        if(appenderClassName == nil)
+            appenderClassName = @"NGLogConsoleAppender";
+        self->_appender = [[NSClassFromString(appenderClassName) alloc] init];
     }
     return self;
 }
index e42d00501aba74561671153f28abdb2f1f863e60..16dc5b80504ab1f8b0206f242419e61a9651c3b8 100644 (file)
@@ -11,4 +11,5 @@ $Id$
       a config for that purpose. Logging is low priority, so we don't need to
       do that too soon.
     - Syslog appender might be useful for the ministry. Syslog provides its own
-      buffering, so syslog appender should be straight forward.
\ No newline at end of file
+      buffering, so syslog appender should be straight forward. Current
+      implementation makes some fix assumptions (log facility).
\ No newline at end of file
index 2c79e7081a0f40f59fb12ed2a1c3206790ec3422..c5beb54d377aea4d1c05a51f6e2f165f4e1b90a2 100644 (file)
@@ -15,10 +15,10 @@ Subprojects
 UserDefaults
 ============
 
-    Default                 | Type   | Example Value
-    =============================================================
-    NGLogSyslogIdentifier   | String | WebUI
-
+    Default                  | Type   | Example Value
+    ==============================================================
+    NGLogSyslogIdentifier    | String | WebUI
+    NGLogDefaultAppenderClass| String | NGLogConsoleAppender