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

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

上级 e5adfe51
...@@ -94,6 +94,10 @@ void taos_init_imp(void) { ...@@ -94,6 +94,10 @@ void taos_init_imp(void) {
printf("failed to create log dir:%s\n", tsLogDir); 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); sprintf(temp, "%s/taoslog", tsLogDir);
if (taosInitLog(temp, tsNumOfLogLines, 10) < 0) { if (taosInitLog(temp, tsNumOfLogLines, 10) < 0) {
printf("failed to open log file in directory:%s\n", tsLogDir); printf("failed to open log file in directory:%s\n", tsLogDir);
......
...@@ -126,6 +126,7 @@ extern char tsDnodeDir[]; ...@@ -126,6 +126,7 @@ extern char tsDnodeDir[];
extern char tsMnodeDir[]; extern char tsMnodeDir[];
extern char tsDataDir[]; extern char tsDataDir[];
extern char tsLogDir[]; extern char tsLogDir[];
extern char tsLogbakDir[];
extern char tsScriptDir[]; extern char tsScriptDir[];
extern int64_t tsMsPerDay[3]; extern int64_t tsMsPerDay[3];
extern char tsVnodeBakDir[]; extern char tsVnodeBakDir[];
...@@ -158,6 +159,7 @@ extern char buildinfo[]; ...@@ -158,6 +159,7 @@ extern char buildinfo[];
// log // log
extern int32_t tsAsyncLog; extern int32_t tsAsyncLog;
extern int32_t tsNumOfLogLines; extern int32_t tsNumOfLogLines;
extern int32_t tsLogKeepDays;
extern int32_t dDebugFlag; extern int32_t dDebugFlag;
extern int32_t vDebugFlag; extern int32_t vDebugFlag;
extern int32_t mDebugFlag; extern int32_t mDebugFlag;
......
...@@ -370,6 +370,16 @@ static void doInitGlobalConfig(void) { ...@@ -370,6 +370,16 @@ static void doInitGlobalConfig(void) {
cfg.unitType = TAOS_CFG_UTYPE_NONE; cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg); 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.option = "scriptDir";
cfg.ptr = tsScriptDir; cfg.ptr = tsScriptDir;
cfg.valType = TAOS_CFG_VTYPE_DIRECTORY; cfg.valType = TAOS_CFG_VTYPE_DIRECTORY;
...@@ -1019,6 +1029,16 @@ static void doInitGlobalConfig(void) { ...@@ -1019,6 +1029,16 @@ static void doInitGlobalConfig(void) {
cfg.unitType = TAOS_CFG_UTYPE_NONE; cfg.unitType = TAOS_CFG_UTYPE_NONE;
taosInitConfigOption(cfg); 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.option = "asyncLog";
cfg.ptr = &tsAsyncLog; cfg.ptr = &tsAsyncLog;
cfg.valType = TAOS_CFG_VTYPE_INT16; cfg.valType = TAOS_CFG_VTYPE_INT16;
......
...@@ -106,6 +106,11 @@ int32_t dnodeInitSystem() { ...@@ -106,6 +106,11 @@ int32_t dnodeInitSystem() {
return -1; 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]; char temp[TSDB_FILENAME_LEN];
sprintf(temp, "%s/taosdlog", tsLogDir); sprintf(temp, "%s/taosdlog", tsLogDir);
if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) { if (taosInitLog(temp, tsNumOfLogLines, 1) < 0) {
......
...@@ -27,6 +27,7 @@ void osInit() { ...@@ -27,6 +27,7 @@ void osInit() {
strcpy(tsMnodeDir, ""); strcpy(tsMnodeDir, "");
strcpy(tsDataDir, "/var/lib/taos"); strcpy(tsDataDir, "/var/lib/taos");
strcpy(tsLogDir, "/var/log/taos"); strcpy(tsLogDir, "/var/log/taos");
strcpy(tsLogbakDir, "/var/log/taos/bak");
strcpy(tsScriptDir, "/etc/taos"); strcpy(tsScriptDir, "/etc/taos");
strcpy(tsOsName, "Linux"); strcpy(tsOsName, "Linux");
} }
\ No newline at end of file
...@@ -27,6 +27,7 @@ void osInit() { ...@@ -27,6 +27,7 @@ void osInit() {
strcpy(tsMnodeDir, ""); strcpy(tsMnodeDir, "");
strcpy(tsDataDir, "~/TDengine/data"); strcpy(tsDataDir, "~/TDengine/data");
strcpy(tsLogDir, "~/TDengine/log"); strcpy(tsLogDir, "~/TDengine/log");
strcpy(tsLogbakDir, "~/TDengine/log/bak");
strcpy(tsScriptDir, "~/TDengine/cfg"); strcpy(tsScriptDir, "~/TDengine/cfg");
strcpy(tsOsName, "Darwin"); strcpy(tsOsName, "Darwin");
} }
...@@ -25,6 +25,7 @@ void osInit() { ...@@ -25,6 +25,7 @@ void osInit() {
} }
strcpy(tsDataDir, "/var/lib/power"); strcpy(tsDataDir, "/var/lib/power");
strcpy(tsLogDir, "/var/log/power"); strcpy(tsLogDir, "/var/log/power");
strcpy(tsLogbakDir, "/var/log/power/bak");
strcpy(tsScriptDir, "/etc/power"); strcpy(tsScriptDir, "/etc/power");
#else #else
if (configDir[0] == 0) { if (configDir[0] == 0) {
...@@ -32,6 +33,7 @@ void osInit() { ...@@ -32,6 +33,7 @@ void osInit() {
} }
strcpy(tsDataDir, "/var/lib/taos"); strcpy(tsDataDir, "/var/lib/taos");
strcpy(tsLogDir, "/var/log/taos"); strcpy(tsLogDir, "/var/log/taos");
strcpy(tsLogbakDir, "/var/log/taos/bak");
strcpy(tsScriptDir, "/etc/taos"); strcpy(tsScriptDir, "/etc/taos");
#endif #endif
......
...@@ -30,6 +30,7 @@ void osInit() { ...@@ -30,6 +30,7 @@ void osInit() {
strcpy(tsVnodeDir, "C:/PowerDB/data"); strcpy(tsVnodeDir, "C:/PowerDB/data");
strcpy(tsDataDir, "C:/PowerDB/data"); strcpy(tsDataDir, "C:/PowerDB/data");
strcpy(tsLogDir, "C:/PowerDB/log"); strcpy(tsLogDir, "C:/PowerDB/log");
strcpy(tsLogbakDir, "C:/PowerDB/log/bak");
strcpy(tsScriptDir, "C:/PowerDB/script"); strcpy(tsScriptDir, "C:/PowerDB/script");
#else #else
...@@ -40,6 +41,7 @@ void osInit() { ...@@ -40,6 +41,7 @@ void osInit() {
strcpy(tsVnodeDir, "C:/TDengine/data"); strcpy(tsVnodeDir, "C:/TDengine/data");
strcpy(tsDataDir, "C:/TDengine/data"); strcpy(tsDataDir, "C:/TDengine/data");
strcpy(tsLogDir, "C:/TDengine/log"); strcpy(tsLogDir, "C:/TDengine/log");
strcpy(tsLogbakDir, "C:/TDengine/log/bak");
strcpy(tsScriptDir, "C:/TDengine/script"); strcpy(tsScriptDir, "C:/TDengine/script");
#endif #endif
......
...@@ -270,7 +270,7 @@ void taosReadGlobalLogCfg() { ...@@ -270,7 +270,7 @@ void taosReadGlobalLogCfg() {
} }
wordfree(&full_path); wordfree(&full_path);
taosReadLogOption("tsLogDir", tsLogDir); taosReadLogOption("logDir", tsLogDir);
sprintf(fileName, "%s/taos.cfg", configDir); sprintf(fileName, "%s/taos.cfg", configDir);
fp = fopen(fileName, "r"); fp = fopen(fileName, "r");
...@@ -288,9 +288,9 @@ void taosReadGlobalLogCfg() { ...@@ -288,9 +288,9 @@ void taosReadGlobalLogCfg() {
option = value = NULL; option = value = NULL;
olen = vlen = 0; olen = vlen = 0;
taosGetline(&line, &len, fp); taosGetline(&line, &len, fp);
line[len - 1] = 0; line[len - 1] = 0;
paGetToken(line, &option, &olen); paGetToken(line, &option, &olen);
if (olen == 0) continue; if (olen == 0) continue;
option[olen] = 0; option[olen] = 0;
......
...@@ -62,14 +62,17 @@ typedef struct { ...@@ -62,14 +62,17 @@ typedef struct {
pthread_mutex_t logMutex; pthread_mutex_t logMutex;
} SLogObj; } SLogObj;
int32_t tsLogKeepDays = 0;
int32_t tsAsyncLog = 1; int32_t tsAsyncLog = 1;
float tsTotalLogDirGB = 0; float tsTotalLogDirGB = 0;
float tsAvailLogDirGB = 0; float tsAvailLogDirGB = 0;
float tsMinimalLogDirGB = 0.1f; float tsMinimalLogDirGB = 0.1f;
#ifdef _TD_POWER_ #ifdef _TD_POWER_
char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/power"; char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/power";
char tsLogbakDir[TSDB_FILENAME_LEN] = "/var/log/power/bak";
#else #else
char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/taos"; char tsLogDir[TSDB_FILENAME_LEN] = "/var/log/taos";
char tsLogbakDir[TSDB_FILENAME_LEN] = "/var/log/taos/bak";
#endif #endif
static SLogObj tsLogObj = { .fileNum = 1 }; static SLogObj tsLogObj = { .fileNum = 1 };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册