mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-13 17:24:44 +08:00
feat: 实现 panic 日志打印到文件中
This commit is contained in:
parent
e3c78fd57d
commit
b0aac42e6f
@ -8,10 +8,12 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path"
|
||||
"runtime"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"syscall"
|
||||
"time"
|
||||
"unsafe"
|
||||
)
|
||||
@ -78,6 +80,8 @@ var _asyncBufferPool = sync.Pool{
|
||||
},
|
||||
}
|
||||
|
||||
var stdErrFileHandler *os.File
|
||||
|
||||
func NewWriterFromConfig(c *Config) (RollingWriter, error) {
|
||||
if c.LogPath == "" || c.FileName == "" {
|
||||
return nil, ErrInvalidArgument
|
||||
@ -92,6 +96,16 @@ func NewWriterFromConfig(c *Config) (RollingWriter, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
stdErrFileHandler = file
|
||||
|
||||
if runtime.GOOS != "windows" {
|
||||
if err = syscall.Dup2(int(file.Fd()), int(os.Stderr.Fd())); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
runtime.SetFinalizer(stdErrFileHandler, func(fd *os.File) {
|
||||
fd.Close()
|
||||
})
|
||||
}
|
||||
|
||||
mng, err := NewManager(c)
|
||||
if err != nil {
|
||||
|
@ -28,8 +28,8 @@ import (
|
||||
|
||||
func Start() {
|
||||
viper.Init()
|
||||
app.Init()
|
||||
log.Init()
|
||||
app.Init()
|
||||
db.Init()
|
||||
migration.Init()
|
||||
validator.Init()
|
||||
|
Loading…
x
Reference in New Issue
Block a user