From 0ea34fff2709a56a0e22fea9b2bd4c249feb4634 Mon Sep 17 00:00:00 2001 From: Jia Li Ong Date: Thu, 1 Jun 2017 17:48:48 +0800 Subject: [PATCH 1/2] Provide permission to access old log files to everyone --- logs/file.go | 2 +- logs/file_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/logs/file.go b/logs/file.go index 1c2db882..33fee1cf 100644 --- a/logs/file.go +++ b/logs/file.go @@ -271,7 +271,7 @@ func (w *fileLogWriter) doRotate(logTime time.Time) error { if err != nil { goto RESTART_LOGGER } - err = os.Chmod(fName, os.FileMode(0440)) + err = os.Chmod(fName, os.FileMode(0444)) // re-start logger RESTART_LOGGER: diff --git a/logs/file_test.go b/logs/file_test.go index f345ff20..ba0850b1 100644 --- a/logs/file_test.go +++ b/logs/file_test.go @@ -175,7 +175,7 @@ func TestFileRotate_06(t *testing.T) { //test file mode log.Emergency("emergency") rotateName := "test3" + fmt.Sprintf(".%s.%03d", time.Now().Format("2006-01-02"), 1) + ".log" s, _ := os.Lstat(rotateName) - if s.Mode() != 0440 { + if s.Mode() != 0444 { os.Remove(rotateName) os.Remove("test3.log") t.Fatal("rotate file mode error") From 5a2eea07cb2cffc7178039b920b76923edb7a722 Mon Sep 17 00:00:00 2001 From: Jia Li Ong Date: Thu, 1 Jun 2017 17:48:48 +0800 Subject: [PATCH 2/2] Provide permission to access old log files to everyone --- logs/file.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/logs/file.go b/logs/file.go index 1c2db882..0b827857 100644 --- a/logs/file.go +++ b/logs/file.go @@ -56,17 +56,20 @@ type fileLogWriter struct { Perm string `json:"perm"` + OtherPerm string `json:"otherperm"` + fileNameOnly, suffix string // like "project.log", project is fileNameOnly and .log is suffix } // newFileWriter create a FileLogWriter returning as LoggerInterface. func newFileWriter() Logger { w := &fileLogWriter{ - Daily: true, - MaxDays: 7, - Rotate: true, - Level: LevelTrace, - Perm: "0660", + Daily: true, + MaxDays: 7, + Rotate: true, + OtherPerm: "0440", + Level: LevelTrace, + Perm: "0660", } return w } @@ -237,8 +240,12 @@ func (w *fileLogWriter) doRotate(logTime time.Time) error { // Find the next available number num := 1 fName := "" + otherPerm, err := strconv.ParseInt(w.OtherPerm, 8, 64) + if err != nil { + return err + } - _, err := os.Lstat(w.Filename) + _, err = os.Lstat(w.Filename) if err != nil { //even if the file is not exist or other ,we should RESTART the logger goto RESTART_LOGGER @@ -271,7 +278,9 @@ func (w *fileLogWriter) doRotate(logTime time.Time) error { if err != nil { goto RESTART_LOGGER } - err = os.Chmod(fName, os.FileMode(0440)) + //err = os.Chmod(fName, os.FileMode(0444)) + + err = os.Chmod(fName, os.FileMode(otherPerm)) // re-start logger RESTART_LOGGER: