From 08505499d1449f53449e119aefc71324376b348b Mon Sep 17 00:00:00 2001
From: shenxin <shenxin@basic.com>
Date: 星期一, 23 八月 2021 19:40:14 +0800
Subject: [PATCH] 增加BHSubscribeNetTopics、BHQueryTopicAddress接口 修改CMakeLists.txt,增加相应文件到编译中。(需要安装protobuf)
---
include/usgcommon/logger.h | 42 ++++++++++++++++++++++++------------------
1 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/include/usgcommon/logger.h b/include/usgcommon/logger.h
index a9e4de4..ccf17cd 100644
--- a/include/usgcommon/logger.h
+++ b/include/usgcommon/logger.h
@@ -4,32 +4,34 @@
#include "usg_common.h"
#include "usg_typedef.h"
+struct LoggerConfig {
+ std::string logFile;
+ int level;
+ bool console;
+};
+
class Logger {
+private:
std::string configFile;
- int level;
+ LoggerConfig config;
+ FILE *logFile;
- void dolog(const char *fmt, va_list ap) {
- 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, MAXLINE - 1, "%Y-%d-%m %H:%M:%S ", info);
- snprintf(buf + strlen(buf), MAXLINE - strlen(buf) - 1, "(%ld) ", tv.tv_sec * 1000000 + tv.tv_usec);
+
+ void init();
- vsnprintf(buf + strlen(buf), MAXLINE - strlen(buf) - 1, fmt, ap);
- strcat(buf, "\n");
- fflush(stdout); /* in case stdout and stderr are the same */
- fputs(buf, stdout);
- fflush(NULL); /* flushes all stdio output streams */
- }
-
+private:
+ static const char *LOGGER_LEVEL_STR[] ;
public:
- enum { ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF };
+ enum LoggerLevel { ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF };
- Logger(int l = INFO) : level(l) {}
+
+ Logger(int l = INFO);
Logger(std::string cf);
+ Logger(LoggerConfig & conf);
+
+ ~Logger();
void log(int _level, const char *fmt, ...);
@@ -37,7 +39,11 @@
void info(const char *fmt, ...);
void warn(const char *fmt, ...);
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);
};
#endif
\ No newline at end of file
--
Gitblit v1.8.0