annotate libtinyweb/src/logger.c @ 10:0dd50a23f3dd
separated all the tinyweb functionality out as a library
author |
John Tsiombikas <nuclear@member.fsf.org> |
date |
Sat, 18 Apr 2015 22:47:57 +0300 |
parents |
src/logger.c@5ec50ca0d071 |
children |
86f703031228 |
rev |
line source |
nuclear@7
|
1 #include <stdio.h>
|
nuclear@7
|
2 #include <stdlib.h>
|
nuclear@7
|
3 #include <string.h>
|
nuclear@7
|
4 #include <stdarg.h>
|
nuclear@7
|
5 #include <errno.h>
|
nuclear@7
|
6 #include "logger.h"
|
nuclear@7
|
7
|
nuclear@7
|
8 static FILE *logfile;
|
nuclear@7
|
9
|
nuclear@7
|
10 int set_log_file(const char *fname)
|
nuclear@7
|
11 {
|
nuclear@7
|
12 FILE *fp;
|
nuclear@7
|
13
|
nuclear@7
|
14 if(!(fp = fopen(fname, "w"))) {
|
nuclear@7
|
15 fprintf(stderr, "failed to open logfile: %s: %s\n", fname, strerror(errno));
|
nuclear@7
|
16 return -1;
|
nuclear@7
|
17 }
|
nuclear@7
|
18 setvbuf(fp, 0, _IONBF, 0);
|
nuclear@7
|
19 logfile = fp;
|
nuclear@7
|
20 return 0;
|
nuclear@7
|
21 }
|
nuclear@7
|
22
|
nuclear@7
|
23 void logmsg(const char *fmt, ...)
|
nuclear@7
|
24 {
|
nuclear@7
|
25 va_list ap;
|
nuclear@7
|
26
|
nuclear@7
|
27 if(!logfile) {
|
nuclear@7
|
28 logfile = stderr;
|
nuclear@7
|
29 }
|
nuclear@7
|
30
|
nuclear@7
|
31 va_start(ap, fmt);
|
nuclear@7
|
32 vfprintf(logfile, fmt, ap);
|
nuclear@7
|
33 va_end(ap);
|
nuclear@7
|
34 }
|