Merge branch 'Hotfix-issue-3' into 'master'

1、修复 #3 问题

See merge request MESA_framework/MESA_handle_logger!5
This commit is contained in:
杨威
2019-07-15 11:15:00 +08:00

View File

@@ -8,14 +8,18 @@
#include <unistd.h>
#include<sys/stat.h>
#define LOGMSG_MAX_LEN 4096
#define FLUSH_LOG_NUM 4096
typedef struct log_handle_t
{
int runtime_log_level;
int flush_log_count;
FILE *fp;
char runtime_log_file[1200];
char cur_log_file[LOGMSG_MAX_LEN];
} log_handle_t;
#define LOGMSG_MAX_LEN 4096
//const int HANDLE_LOGGER_VERSION_20190218 = 1;
@@ -201,12 +205,22 @@ void MESA_handle_runtime_log(void *handle, int level, const char *module, const
local_time.tm_year + 1900, local_time.tm_mon + 1,
local_time.tm_mday);
OPEN_LOG_FILE:
if(p_handle->fp == NULL)
{
if(NULL == (fp = fopen(tmp_log_file_name, "a"))) return;
p_handle->fp = fp;
p_handle->flush_log_count = 0;
memcpy(p_handle->cur_log_file, tmp_log_file_name, strlen(tmp_log_file_name));
}
if (0 != memcmp(tmp_log_file_name, p_handle->cur_log_file, strlen(tmp_log_file_name)))
{
fclose(p_handle->fp);
p_handle->fp = NULL;
goto OPEN_LOG_FILE;
}
if (0 > fprintf(p_handle->fp, "%s", buf))
{
fclose(p_handle->fp);
@@ -214,8 +228,14 @@ void MESA_handle_runtime_log(void *handle, int level, const char *module, const
}
else
{
fflush(p_handle->fp);
}
p_handle->flush_log_count+=1;
if (p_handle->flush_log_count >= FLUSH_LOG_NUM)
{
fflush(p_handle->fp);
p_handle->flush_log_count = 0;
}
}
return;
}