tinywebd
annotate src/logger.c @ 7:5ec50ca0d071
separated the server code
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Fri, 17 Apr 2015 11:45:08 +0300 |
parents | |
children |
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 } |