提交 e69fbd54 编写于 作者: S Shengliang Guan

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

上级 e5adfe51
......@@ -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);
......
......@@ -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;
......
......@@ -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;
......
......@@ -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) {
......
......@@ -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");
}
\ No newline at end of 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");
}
......@@ -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
......
......@@ -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
......
......@@ -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;
......
......@@ -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 };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册