From 784f85ae9a475667b7afb726d0653701c196ed48 Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Thu, 28 Apr 2011 20:30:21 +0000 Subject: [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 --- Foundation/GTMLogger+ASLTest.m | 79 ++++++++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 19 deletions(-) (limited to 'Foundation/GTMLogger+ASLTest.m') 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; } -- cgit v1.2.3