wangzhengquan
2021-02-02 cb85aa8a8d02a3d6dc16e3f32e78da9e70f9c7f5
include/usgcommon/logger.h
@@ -16,32 +16,9 @@
  LoggerConfig config;
  FILE *logFile;
  void dolog(const char *fmt, va_list ap, int level, int err = 0) {
    char buf[MAXBUF];
  void dolog(const char *fmt, va_list ap, int level, int err = 0);
    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 init();
private:
@@ -64,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);
};