tinywebd

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 }