~vcs-imports/logrotate/trunk

« back to all changes in this revision

Viewing changes to log.c

  • Committer: pvrabec
  • Date: 2005-11-12 19:07:56 UTC
  • Revision ID: svn-v4:ec1272ba-9ed1-42ef-8245-99669996828e:trunk:225
- new upstream release
- indent sources

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
#include "log.h"
9
9
 
10
10
int logLevel = MESS_DEBUG;
11
 
static FILE * errorFile =  NULL;
12
 
static FILE * messageFile = NULL;
 
11
static FILE *errorFile = NULL;
 
12
static FILE *messageFile = NULL;
13
13
int flags = 0;
14
14
 
15
 
void logSetLevel(int level) {
 
15
void logSetLevel(int level)
 
16
{
16
17
    logLevel = level;
17
18
}
18
19
 
19
 
void logSetErrorFile(FILE * f) {
 
20
void logSetErrorFile(FILE * f)
 
21
{
20
22
    errorFile = f;
21
23
}
22
24
 
23
 
void logSetMessageFile(FILE * f) {
 
25
void logSetMessageFile(FILE * f)
 
26
{
24
27
    messageFile = f;
25
28
}
26
29
 
27
 
void logSetFlags(int newFlags) {
 
30
void logSetFlags(int newFlags)
 
31
{
28
32
    flags |= newFlags;
29
33
}
30
34
 
31
 
void logClearFlags(int newFlags) {
 
35
void logClearFlags(int newFlags)
 
36
{
32
37
    flags &= ~newFlags;
33
38
}
34
39
 
35
40
#if 0
36
 
void log(int fd, char * format, ...) {
 
41
void log(int fd, char *format, ...)
 
42
{
37
43
    int i = 0;
38
 
    char * buf = NULL;
 
44
    char *buf = NULL;
39
45
    va_list args;
40
46
    int size;
41
47
 
43
49
 
44
50
    do {
45
51
        i += 1000;
46
 
        if (buf) free(buf);
 
52
        if (buf)
 
53
            free(buf);
47
54
        buf = malloc(i);
48
55
        size = vsnprintf(buf, i, format, args);
49
56
    } while (size >= i);
56
63
}
57
64
#endif
58
65
 
59
 
void message(int level, char * format, ...) {
 
66
void message(int level, char *format, ...)
 
67
{
60
68
    va_list args;
61
 
    FILE * where = NULL;
 
69
    FILE *where = NULL;
62
70
    int showTime = 0;
63
71
 
64
72
    if (errorFile == NULL)
66
74
    if (messageFile == NULL)
67
75
        messageFile = stderr;
68
76
    where = errorFile;
69
 
    
 
77
 
70
78
    if (level >= logLevel) {
71
79
        va_start(args, format);
72
80
 
73
81
        switch (level) {
74
 
          case MESS_DEBUG:
 
82
        case MESS_DEBUG:
75
83
            where = messageFile;
76
84
            showTime = 1;
77
85
            break;
78
86
 
79
 
          case MESS_NORMAL:
80
 
          case MESS_VERBOSE:
 
87
        case MESS_NORMAL:
 
88
        case MESS_VERBOSE:
81
89
            where = messageFile;
82
90
            break;
83
91
 
84
 
          default:
85
 
            if (flags & LOG_TIMES) 
 
92
        default:
 
93
            if (flags & LOG_TIMES)
86
94
                fprintf(where, "%ld: ", (long) time(NULL));
87
95
            fprintf(errorFile, "error: ");
88
96
            break;
97
105
 
98
106
        va_end(args);
99
107
 
100
 
        if (level == MESS_FATAL) exit(1);
 
108
        if (level == MESS_FATAL)
 
109
            exit(1);
101
110
    }
102
111
}
103