1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
//
// LiLog.m
// Liaison
//
// Created by Brian Cully on Tue May 20 2003.
// Copyright (c) 2003 Brian Cully. All rights reserved.
//
#import "LiLog.h"
@implementation LiLog
static int debugIndentLevel = 0;
+ (void)alertDidEnd: (NSWindow *)sheet
returnCode: (int)returnCode
contextInfo: (void *)contextInfo
{
[sheet close];
return;
}
+ (void)alertWithHeader: (NSString *)aHeader
contents: (NSString *)someContents
forWindow: (NSWindow *)aWindow
{
if (aWindow != nil)
NSBeginAlertSheet(aHeader, @"Okay", nil, nil, aWindow, self,
@selector(alertDidEnd:returnCode:contextInfo:),
@selector(alertDidEnd:returnCode:contextInfo:),
nil, someContents);
else
NSRunAlertPanel(aHeader, someContents, @"Okay", nil, nil);
}
+ (void)alertWithHeader: (NSString *)aHeader
contents: (NSString *)someContents
{
[self alertWithHeader: aHeader contents: someContents forWindow: [NSApp keyWindow]];
}
+ (void)logAsDebug: (NSString *)format, ...
{
#define DEBUG 1
#if DEBUG
va_list args;
va_start(args, format);
NSLogv([[@"DEBUG: " stringByAppendingString: [self debugIndentString]] stringByAppendingString: format], args);
va_end(args);
#endif
}
+ (void)logAsInfo: (NSString *)format, ...
{
va_list args;
va_start(args, format);
NSLogv([@"INFO: " stringByAppendingString: format], args);
va_end(args);
}
+ (void)logAsWarning: (NSString *)format, ...
{
va_list args;
va_start(args, format);
NSLogv([@"WARNING: " stringByAppendingString: format], args);
va_end(args);
}
+ (void)logAsError: (NSString *)format, ...
{
va_list args;
va_start(args, format);
NSLogv([@"ERROR: " stringByAppendingString: format], args);
va_end(args);
}
+ (id)indentDebugLog
{
debugIndentLevel++;
return self;
}
+ (id)unindentDebugLog
{
if (debugIndentLevel > 0)
debugIndentLevel--;
return self;
}
+ (NSString *)debugIndentString
{
NSMutableString *indentString;
int i;
indentString = [NSMutableString string];
for (i = 0; i < debugIndentLevel; i++)
[indentString appendString: @"\t"];
return indentString;
}
@end
|