project_files/frontlib/util/logging.c
changeset 7179 f84805e6df03
parent 7177 bf6cf4dd847a
child 7182 076aba32abd3
equal deleted inserted replaced
7177:bf6cf4dd847a 7179:f84805e6df03
       
     1 #include "logging.h"
       
     2 
       
     3 #include <time.h>
       
     4 #include <stdio.h>
       
     5 #include <stdarg.h>
       
     6 #include <stdlib.h>
       
     7 
       
     8 char* flib_format_ip(uint32_t numip) {
       
     9 	static char ip[16];
       
    10 	snprintf(ip, 16, "%u.%u.%u.%u", (unsigned)(numip>>24), (unsigned)((numip>>16)&0xff), (unsigned)((numip>>8)&0xff), (unsigned)(numip&0xff));
       
    11 	return ip;
       
    12 }
       
    13 
       
    14 static void log_time(FILE *file) {
       
    15     time_t timer;
       
    16     char buffer[25];
       
    17     struct tm* tm_info;
       
    18 
       
    19     time(&timer);
       
    20     tm_info = localtime(&timer);
       
    21 
       
    22     strftime(buffer, 25, "%Y-%m-%d %H:%M:%S", tm_info);
       
    23     fprintf(file, "%s", buffer);
       
    24 }
       
    25 
       
    26 static void flib_vflog(FILE *file, const char *prefix, const char *fmt, va_list args) {
       
    27 	log_time(file);
       
    28 	fprintf(file, " [%s]", prefix);
       
    29 	vfprintf(file, fmt, args);
       
    30 	fprintf(file, "\n");
       
    31 	fflush(file);
       
    32 }
       
    33 
       
    34 void flib_log_e(const char *fmt, ...) {
       
    35 	va_list argp;
       
    36 	va_start(argp, fmt);
       
    37 	flib_vflog(stderr, "E", fmt, argp);
       
    38 	va_end(argp);
       
    39 }
       
    40 
       
    41 void flib_log_w(const char *fmt, ...) {
       
    42 	va_list argp;
       
    43 	va_start(argp, fmt);
       
    44 	flib_vflog(stdout, "W", fmt, argp);
       
    45 	va_end(argp);
       
    46 }
       
    47 
       
    48 void flib_log_i(const char *fmt, ...) {
       
    49 	va_list argp;
       
    50 	va_start(argp, fmt);
       
    51 	flib_vflog(stdout, "I", fmt, argp);
       
    52 	va_end(argp);
       
    53 }