Skip to content

Commit 1231a82

Browse files
committed
fix: create log file directory if not exists in InitLogger
1 parent cbbe8ca commit 1231a82

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

docs/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
- feat: replace exec with myexec, add several exec helpers
66
- feat: create python3 venv with funppy if python3 not specified
7+
- fix: create log file directory if not exists in InitLogger
78

89
## v0.5.2 (2023-08-10)
910

fungo/init.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package fungo
33
import (
44
"io"
55
"os"
6+
"path/filepath"
67

78
hclog "github.com/hashicorp/go-hclog"
89
"github.com/hashicorp/go-plugin"
@@ -27,7 +28,13 @@ var file *os.File
2728
func InitLogger(logLevel hclog.Level, logFile string, disableTime bool) hclog.Logger {
2829
output := hclog.DefaultOutput
2930
if logFile != "" {
30-
var err error
31+
err := os.MkdirAll(filepath.Dir(logFile), os.ModePerm)
32+
if err != nil {
33+
logger.Error("create log file directory failed",
34+
"error", err, "logFile", logFile)
35+
os.Exit(1)
36+
}
37+
3138
file, err = os.OpenFile(logFile, os.O_CREATE|os.O_RDWR, 0666)
3239
if err != nil {
3340
logger.Error("open log file failed", "error", err)
@@ -43,7 +50,8 @@ func InitLogger(logLevel hclog.Level, logFile string, disableTime bool) hclog.Lo
4350
Level: logLevel,
4451
Color: hclog.AutoColor,
4552
})
46-
logger.Info("set plugin log level", "level", logLevel.String())
53+
logger.Info("set plugin log level",
54+
"level", logLevel.String(), "logFile", logFile)
4755
return logger
4856
}
4957

0 commit comments

Comments
 (0)