diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2011-04-28 20:30:21 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2011-04-28 20:30:21 +0000 |
commit | 784f85ae9a475667b7afb726d0653701c196ed48 (patch) | |
tree | cc258f8f11881c38875e3edc8bc8ef699ef24857 /Foundation/GTMLogger+ASLTest.m | |
parent | e27ef9a94628853e1ab7dd9cf7ac883d96596dda (diff) |
[Author: aharper]
- Fix ASL logging to reference the correct formatter (and then replace with
a new formatter).
- Format ASL messages to include information that would normally be present
in the standard formatter.
- Allow ASL writers to pass a facility string.
- Pretty up the function names in all logging, better matching NSAssert()
names (as one example).
- Don't throw if a logging filehandle is closed (SIGPIPE). Random exceptions
from logging is bad, m'kay?
R=thomasvl,dmaclach
APPROVED=thomasvl
Diffstat (limited to 'Foundation/GTMLogger+ASLTest.m')
-rw-r--r-- | Foundation/GTMLogger+ASLTest.m | 79 |
1 files changed, 60 insertions, 19 deletions
diff --git a/Foundation/GTMLogger+ASLTest.m b/Foundation/GTMLogger+ASLTest.m index cd32484..2756bfc 100644 --- a/Foundation/GTMLogger+ASLTest.m +++ b/Foundation/GTMLogger+ASLTest.m @@ -6,9 +6,9 @@ // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy // of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 -// +// // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -19,15 +19,31 @@ #import "GTMLogger+ASL.h" #import "GTMSenTestCase.h" -@interface DummyASLClient : GTMLoggerASLClient +@interface DummyASLClient : GTMLoggerASLClient { + @private + NSString *facility_; +} @end static NSMutableArray *gDummyLog; // weak @implementation DummyASLClient +- (id)initWithFacility:(NSString *)facility { + if ((self = [super initWithFacility:facility])) { + facility_ = [facility copy]; + } + return self; +} + +- (void)dealloc { + [facility_ release]; + [super dealloc]; +} + - (void)log:(NSString *)msg level:(int)level { - NSString *line = [msg stringByAppendingFormat:@"@%d", level]; + NSString *line = [NSString stringWithFormat:@"%@-%@-%d", + (facility_ ? facility_ : @""), msg, level]; [gDummyLog addObject:line]; } @@ -42,7 +58,7 @@ static NSMutableArray *gDummyLog; // weak - (void)testCreation { GTMLogger *aslLogger = [GTMLogger standardLoggerWithASL]; STAssertNotNil(aslLogger, nil); - + GTMLogASLWriter *writer = [GTMLogASLWriter aslWriter]; STAssertNotNil(writer, nil); } @@ -50,12 +66,13 @@ static NSMutableArray *gDummyLog; // weak - (void)testLogWriter { gDummyLog = [[[NSMutableArray alloc] init] autorelease]; GTMLogASLWriter *writer = [[[GTMLogASLWriter alloc] - initWithClientClass:[DummyASLClient class]] + initWithClientClass:[DummyASLClient class] + facility:nil] autorelease]; - + STAssertNotNil(writer, nil); - STAssertTrue([gDummyLog count] == 0, nil); + STAssertEquals([gDummyLog count], (NSUInteger)0, nil); // Log some messages [writer logMessage:@"unknown" level:kGTMLoggerLevelUnknown]; @@ -63,21 +80,45 @@ static NSMutableArray *gDummyLog; // weak [writer logMessage:@"info" level:kGTMLoggerLevelInfo]; [writer logMessage:@"error" level:kGTMLoggerLevelError]; [writer logMessage:@"assert" level:kGTMLoggerLevelAssert]; - - // Inspect the logged message to make sure they were logged correctly. The - // dummy writer will save the messages w/ @level concatenated. The "level" + + // Inspect the logged message to make sure they were logged correctly. The + // dummy writer will save the messages w/ @level concatenated. The "level" // will be the ASL level, not the GTMLogger level. GTMLogASLWriter will log - // all + // all NSArray *expected = [NSArray arrayWithObjects: - @"unknown@5", - @"debug@5", - @"info@5", - @"error@3", - @"assert@1", + @"-unknown-5", + @"-debug-5", + @"-info-5", + @"-error-3", + @"-assert-1", nil]; - + STAssertEqualObjects(gDummyLog, expected, nil); - + [gDummyLog removeAllObjects]; + + // Same test with facility + writer = [[[GTMLogASLWriter alloc] + initWithClientClass:[DummyASLClient class] + facility:@"testfac"] autorelease]; + + + STAssertNotNil(writer, nil); + STAssertEquals([gDummyLog count], (NSUInteger)0, nil); + + [writer logMessage:@"unknown" level:kGTMLoggerLevelUnknown]; + [writer logMessage:@"debug" level:kGTMLoggerLevelDebug]; + [writer logMessage:@"info" level:kGTMLoggerLevelInfo]; + [writer logMessage:@"error" level:kGTMLoggerLevelError]; + [writer logMessage:@"assert" level:kGTMLoggerLevelAssert]; + expected = [NSArray arrayWithObjects: + @"testfac-unknown-5", + @"testfac-debug-5", + @"testfac-info-5", + @"testfac-error-3", + @"testfac-assert-1", + nil]; + STAssertEqualObjects(gDummyLog, expected, nil); + gDummyLog = nil; } |