log.c 2.3 KB
Newer Older
Linus Tolke Y's avatar
Linus Tolke Y committed
1
/*
Per Cederqvist's avatar
Per Cederqvist committed
2
 * $Id: log.c,v 0.13 1994/08/19 22:04:55 ceder Exp $
Per Cederqvist's avatar
Per Cederqvist committed
3
 * Copyright (C) 1991, 1992, 1993, 1994  Lysator Academic Computer Association.
Linus Tolke Y's avatar
Linus Tolke Y committed
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 *
 * This file is part of the LysKOM server.
 * 
 * LysKOM is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by 
 * the Free Software Foundation; either version 1, or (at your option) 
 * any later version.
 * 
 * LysKOM is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with LysKOM; see the file COPYING.  If not, write to
 * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
 * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
 * MA 02139, USA.
 *
 * Please mail bug reports to bug-lyskom@lysator.liu.se. 
 */
Per Cederqvist's avatar
Per Cederqvist committed
25
26
27
28
29
30
/*
 * log.c
 *
 * File created by ceder 1990-05-25.
 */

Per Cederqvist's avatar
Per Cederqvist committed
31
static char *rcsid = "$Id: log.c,v 0.13 1994/08/19 22:04:55 ceder Exp $";
32
33
#include "rcs.h"
USE(rcsid);
Per Cederqvist's avatar
Per Cederqvist committed
34

Per Cederqvist's avatar
Per Cederqvist committed
35
36
37
#ifdef HAVE_STDARG_H
#  include <stdarg.h>
#endif
Per Cederqvist's avatar
Per Cederqvist committed
38
#include <stdio.h>
Per Cederqvist's avatar
Per Cederqvist committed
39
#include <sys/types.h>
Per Cederqvist's avatar
Per Cederqvist committed
40
#include <time.h>
Per Cederqvist's avatar
Per Cederqvist committed
41
#include <unistd.h>
Per Cederqvist's avatar
Per Cederqvist committed
42

Per Cederqvist's avatar
Per Cederqvist committed
43
44
45
46
47
48
#include "log.h"

/*
 * Add a string to the log file.
 */

Per Cederqvist's avatar
Per Cederqvist committed
49
#if defined(HAVE_VFPRINTF) && defined(HAVE_STDARG_H)
Per Cederqvist's avatar
Per Cederqvist committed
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
extern void
log (const char * format, ...)
{
    va_list AP;

    va_start(AP, format);
    logv(format, AP);
    va_end(AP);
}


extern void
logv (const char *format, va_list AP)
{
    time_t clock;
65
    struct tm *t;
Per Cederqvist's avatar
Per Cederqvist committed
66
67

    time(&clock);
68
    t = localtime(&clock);
Per Cederqvist's avatar
Per Cederqvist committed
69

70
71
72
    fprintf(stderr, "%02d%02d%02d %02d:%02d:%02d %d ",
	    t->tm_year, t->tm_mon + 1, t->tm_mday,
	    t->tm_hour, t->tm_min, t->tm_sec, getpid());
Per Cederqvist's avatar
Per Cederqvist committed
73
74
75
76
    vfprintf(stderr, format, AP);

    fflush(stderr);
}
77
78
79
80
81
82
83
84
85
86
87
#else  /* !HAVE_VFPRINTF */
extern void
log (const char * format, 
     int a, int b, int c, int d, int e, int f, int g)
{
    time_t clock;
    struct tm *t;

    time(&clock);
    t = localtime(&clock);

88
89
90
    fprintf(stderr, "%02d%02d%02d %02d:%02d:%02d %d ",
	    t->tm_year, t->tm_mon + 1, t->tm_mday,
	    t->tm_hour, t->tm_min, t->tm_sec, getpid());
91
92
93
94
95
96
    fprintf(stderr, format, a, b, c, d, e, f, g);

    fflush(stderr);
    
}
#endif /* !HAVE_VFPRINTF */