wangzhengquan
2021-01-25 14be935a4f8231233487d510c8db0b544bcf0f69
include/usgcommon/logger.h
@@ -16,32 +16,7 @@
  LoggerConfig config;
  FILE *logFile;
  void dolog(const char *fmt, va_list ap, int level, int err = 0) {
    char buf[MAXLINE];
    struct timeval tv;
    struct tm *info;
    gettimeofday(&tv, NULL);
    info = localtime(&tv.tv_sec);
    strftime(buf, MAXBUF - 1, "%Y-%d-%m %H:%M:%S", info);
    snprintf(buf + strlen(buf), MAXBUF - strlen(buf) - 1, ",%ld [%s] ",  tv.tv_usec, strlevel(level));
    vsnprintf(buf + strlen(buf), MAXBUF - strlen(buf) - 1, fmt, ap);
    if (err != 0) {
      snprintf(buf + strlen(buf), MAXBUF - strlen(buf) - 1, ": %s", strerror(err));
    }
    strcat(buf, "\n");
    fflush(stdout); /* in case stdout and stderr are the same */
    if(logFile != NULL) {
      fputs(buf, logFile);
    }
    if(config.console) {
       fputs(buf, stdout);
    }
    fflush(NULL); /* flushes all stdio output streams */
  }
  void dolog(const char *fmt, va_list ap, int level, int err = 0);
  
  void init();
@@ -66,7 +41,7 @@
  void error(const char *fmt, ...);
  void error(int err, const char *fmt, ...);
  void fatal(const char *fmt, ...);
  void fatal(int err, const char *fmt, ...) ;
  static const char * strlevel(int level);
};