diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 2df0b8167ed50bf01b8333179918b1ddeb1b4734..6a1f69d60b35a6c81728316634cfe8cbca923920 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -48,6 +48,8 @@ const ( DefaultFileMode os.FileMode = 0600 // DefaultDirMode is dir default mode DefaultDirMode os.FileMode = 0700 + // DefaultDumpLogFileMode is the permission of the log file (recorded or archived) + DefaultDumpLogFileMode os.FileMode = 0400 ) // Pod Annotation diff --git a/pkg/common/log/log.go b/pkg/common/log/log.go index bda812f0e450250f5928fe35d0a966e9630331f5..fc0b9b89c7cdb89e24c32b8c86a5dce8a7b6249c 100644 --- a/pkg/common/log/log.go +++ b/pkg/common/log/log.go @@ -160,6 +160,7 @@ func levelFromString(level string) (int, error) { } func renameLogFile() { + // rename the log that is no longer recorded, that is, the log of rubik.log.X for i := logFileNum - 1; i > 1; i-- { oldFile := logFname + fmt.Sprintf(".%d", i-1) newFile := logFname + fmt.Sprintf(".%d", i) @@ -167,7 +168,12 @@ func renameLogFile() { DropError(os.Rename(oldFile, newFile)) } } - DropError(os.Rename(logFname, logFname+".1")) + + // dump the current rubik log + firstDumpLogName := logFname + ".1" + DropError(os.Rename(logFname, firstDumpLogName)) + // change log file permissions + DropError(os.Chmod(firstDumpLogName, constant.DefaultDumpLogFileMode)) } func rotateLog(line int64) string {