summaryrefslogtreecommitdiffstats
path: root/Frameworks/LiBackend/LiLog.m
blob: 5dcb8615a44c116b441a59b454f81a038a79a9dc (plain)
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