优化WebLog()代码

This commit is contained in:
zogodo
2021-11-26 15:34:02 +08:00
parent f4097ea5f1
commit 492ce82422
3 changed files with 10 additions and 25 deletions

View File

@@ -6,10 +6,6 @@
LogRecord log_record = { 1,{ 0 } };
char log_record_str[LOG_NUM*LOG_LEN] = { 0 };
char* LOG_TMP;
char log[LOG_LEN];
time_t now;
char time_buf[TIM_LEN];
void SetLogRecord(LogRecord* lr, char* log)
{
@@ -42,15 +38,17 @@ char* GetLogRecord()
void WebLog(const char *M, ...)
{
char* buff = (char*)malloc(sizeof(char)*LOG_LEN);
time_t now = time(NULL) + 28800; //东8区
strftime(buff, TIME_LEN, "[%Y-%m-%d %H:%M:%S]", localtime(&now));
buff[TIME_LEN - 1] = ' ';
va_list ap;
va_start(ap, M);
int ret = vsnprintf(log, sizeof(log), M, ap);
int ret = vsnprintf(buff + TIME_LEN, sizeof(buff) - TIME_LEN, M, ap);
va_end(ap);
LOG_TMP = (char*)malloc(sizeof(char)*LOG_LEN);
now = time(NULL) + 28800; //<2F><>8<EFBFBD><38>
strftime(time_buf, TIM_LEN, "%Y-%m-%d %H:%M:%S", localtime(&now));
snprintf(LOG_TMP, LOG_LEN, "[%s]%s", time_buf, log);
SetLogRecord(&log_record, LOG_TMP);
SetLogRecord(&log_record, buff);
}

View File

@@ -5,7 +5,7 @@
#define LOG_NUM 100
#define LOG_LEN 128
#define TIM_LEN 32
#define TIME_LEN 22
typedef struct
{
@@ -13,23 +13,10 @@ typedef struct
char* logs[LOG_NUM];
} LogRecord;
extern LogRecord log_record;
extern char* LOG_TMP;
extern time_t now;
extern char time_buf[];
void SetLogRecord(LogRecord* lr, char* log);
char* GetLogRecord();
void WebLog(const char *M, ...);
#define web_log0(N, M, ...) \
LOG_TMP = (char*)malloc(sizeof(char)*LOG_LEN); \
now = time(NULL); \
now += 28800; \
strftime(time_buf, TIM_LEN, "%Y-%m-%d %H:%M:%S", localtime(&now)); \
snprintf(LOG_TMP, LOG_LEN, "[%s][%s %s:%d] "M, time_buf, N, SHORT_FILE, __LINE__, ##__VA_ARGS__); \
SetLogRecord(&log_record, LOG_TMP); \
#define web_log(N, M, ...) WebLog("["N" %s:%d] "M, SHORT_FILE, __LINE__, ##__VA_ARGS__)
#endif // !WEB_LOG_H

View File

@@ -15,7 +15,7 @@
#define wifi_log(M, ...) do { custom_log("WIFI", M, ##__VA_ARGS__); web_log("WIFI", M, ##__VA_ARGS__) } while(0)
#define power_log(M, ...) do { custom_log("POWER", M, ##__VA_ARGS__); web_log("POWER", M, ##__VA_ARGS__) } while(0)
#define VERSION "v2.0.9"
#define VERSION "v2.1.0"
#define TYPE 1
#define TYPE_NAME "zTC1"