2 Copyright (C) 2000-2005 SKYRIX Software AG
4 This file is part of SOPE.
6 SOPE is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with SOPE; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 #include "NGLogEvent.h"
25 @implementation NGLogEvent
27 static Class DateClass = Nil;
30 static BOOL didInit = NO;
35 DateClass = [NSCalendarDate class];
38 - (id)initWithLevel:(NGLogLevel)_level message:(NSString *)_msg {
41 // TODO: get time using libc function, cheaper
42 self->date = [DateClass timeIntervalSinceReferenceDate];
44 self->msg = [_msg copy];
60 - (NSString *)message {
64 - (NSCalendarDate *)date {
66 return [DateClass dateWithTimeIntervalSinceReferenceDate:self->date];
71 - (NSString *)description {
74 switch (self->level) {
75 case NGLogLevelOff: lvl = @"OFF"; break;
76 case NGLogLevelDebug: lvl = @"DEBUG"; break;
77 case NGLogLevelInfo: lvl = @"INFO"; break;
78 case NGLogLevelWarn: lvl = @"WARN"; break;
79 case NGLogLevelError: lvl = @"ERROR"; break;
80 case NGLogLevelFatal: lvl = @"FATAL"; break;
81 default: lvl = @"ALL"; break;
83 return [NSString stringWithFormat:@"<%@[0x%08X] date=%@ level=%@ msg:%@>",
84 NSStringFromClass([self class]), self,
85 [self date], lvl, self->msg];