[TD-1263] add config items, logKeepDays and logbakDir

This commit is contained in:
Shengliang Guan 2020-09-07 14:35:56 +00:00
parent e5adfe5144
commit e69fbd54a2
10 changed files with 43 additions and 3 deletions

View File

@ -94,6 +94,10 @@ void taos_init_imp(void) {
printf("failed to create log dir:%s\n", tsLogDir);
}
if (mkdir(tsLogbakDir, 0755) != 0 && errno != EEXIST) {
printf("failed to create logbak dir:%s\n", tsLogbakDir);
}
sprintf(temp, "%s/taoslog", tsLogDir);
if (taosInitLog(temp, tsNumOfLogLines, 10) < 0) {
printf("failed to open log file in directory:%s\n", tsLogDir);

View File

@ -126,6 +126,7 @@ extern char tsDnodeDir[];
extern char tsMnodeDir[];
extern char tsDataDir[];
extern char tsLogDir[];
extern char tsLogbakDir[];
extern char tsScriptDir[];
extern int64_t tsMsPerDay[3];
extern char tsVnodeBakDir[];
@ -158,6 +159,7 @@ extern char buildinfo[];
// log
extern int32_t tsAsyncLog;
extern int32_t tsNumOfLogLines;
extern int32_t tsLogKeepDays;
extern int32_t dDebugFlag;
extern int32_t vDebugFlag;
extern int32_t mDebugFlag;

View File

@ -370,6 +370,16 @@ static void doInitGlobalConfig(void) {
cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg);
cfg.option = "logBakDir";
cfg.ptr = tsLogbakDir;
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_LOG;
cfg.minValue = 0;
cfg.maxValue = 0;
cfg.ptrLength = TSDB_FILENAME_LEN;
cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg);
cfg.option = "scriptDir";
cfg.ptr = tsScriptDir;
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
@ -1019,6 +1029,16 @@ static void doInitGlobalConfig(void) {
cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg);
cfg.option = "logKeepDays";
cfg.ptr = &tsNumOfLogLines;
cfg.valType = TAOS_CFG_VTYPE_INT32;
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_LOG | TSDB_CFG_CTYPE_B_CLIENT;
cfg.minValue = 0;
cfg.maxValue = 3650;
cfg.ptrLength = 0;
cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg);
cfg.option = "asyncLog";
cfg.ptr = &tsAsyncLog;
cfg.valType = TAOS_CFG_VTYPE_INT16;

View File

@ -106,6 +106,11 @@ int32_t dnodeInitSystem() {
return -1;
}
if (dnodeCreateDir(tsLogbakDir) < 0) {
printf("failed to create dir: %s, reason: %s\n", tsLogbakDir, strerror(errno));
return -1;
}
char temp[TSDB_FILENAME_LEN];
sprintf(temp, "%s/taosdlog", tsLogDir);
if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) {

View File

@ -27,6 +27,7 @@ void osInit() {
strcpy(tsMnodeDir, "");
strcpy(tsDataDir, "/var/lib/taos");
strcpy(tsLogDir, "/var/log/taos");
strcpy(tsLogbakDir, "/var/log/taos/bak");
strcpy(tsScriptDir, "/etc/taos");
strcpy(tsOsName, "Linux");
}

View File

@ -27,6 +27,7 @@ void osInit() {
strcpy(tsMnodeDir, "");
strcpy(tsDataDir, "~/TDengine/data");
strcpy(tsLogDir, "~/TDengine/log");
strcpy(tsLogbakDir, "~/TDengine/log/bak");
strcpy(tsScriptDir, "~/TDengine/cfg");
strcpy(tsOsName, "Darwin");
}

View File

@ -25,6 +25,7 @@ void osInit() {
}
strcpy(tsDataDir, "/var/lib/power");
strcpy(tsLogDir, "/var/log/power");
strcpy(tsLogbakDir, "/var/log/power/bak");
strcpy(tsScriptDir, "/etc/power");
#else
if (configDir[0] == 0) {
@ -32,6 +33,7 @@ void osInit() {
}
strcpy(tsDataDir, "/var/lib/taos");
strcpy(tsLogDir, "/var/log/taos");
strcpy(tsLogbakDir, "/var/log/taos/bak");
strcpy(tsScriptDir, "/etc/taos");
#endif

View File

@ -30,6 +30,7 @@ void osInit() {
strcpy(tsVnodeDir, "C:/PowerDB/data");
strcpy(tsDataDir, "C:/PowerDB/data");
strcpy(tsLogDir, "C:/PowerDB/log");
strcpy(tsLogbakDir, "C:/PowerDB/log/bak");
strcpy(tsScriptDir, "C:/PowerDB/script");
#else
@ -40,6 +41,7 @@ void osInit() {
strcpy(tsVnodeDir, "C:/TDengine/data");
strcpy(tsDataDir, "C:/TDengine/data");
strcpy(tsLogDir, "C:/TDengine/log");
strcpy(tsLogbakDir, "C:/TDengine/log/bak");
strcpy(tsScriptDir, "C:/TDengine/script");
#endif

View File

@ -270,7 +270,7 @@ void taosReadGlobalLogCfg() {
}
wordfree(&full_path);
taosReadLogOption("tsLogDir", tsLogDir);
taosReadLogOption("logDir", tsLogDir);
sprintf(fileName, "%s/taos.cfg", configDir);
fp = fopen(fileName, "r");
@ -288,9 +288,9 @@ void taosReadGlobalLogCfg() {
option = value = NULL;
olen = vlen = 0;
taosGetline(&line, &len, fp);
taosGetline(&line, &len, fp);
line[len - 1] = 0;
paGetToken(line, &option, &olen);
if (olen == 0) continue;
option[olen] = 0;

View File

@ -62,14 +62,17 @@ typedef struct {
pthread_mutex_t logMutex;
} SLogObj;
int32_t tsLogKeepDays = 0;
int32_t tsAsyncLog = 1;
float tsTotalLogDirGB = 0;
float tsAvailLogDirGB = 0;
float tsMinimalLogDirGB = 0.1f;
#ifdef _TD_POWER_
char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/power";
char tsLogbakDir[TSDB_FILENAME_LEN] = "/var/log/power/bak";
#else
char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/taos";
char tsLogbakDir[TSDB_FILENAME_LEN] = "/var/log/taos/bak";
#endif
static SLogObj tsLogObj = { .fileNum = 1 };