mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-11-11 12:10:45 +08:00
feat: 实现 panic 日志打印到文件中
This commit is contained in:
parent
e3c78fd57d
commit
b0aac42e6f
2 changed files with 15 additions and 1 deletions
|
|
@ -8,10 +8,12 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"runtime"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
@ -78,6 +80,8 @@ var _asyncBufferPool = sync.Pool{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var stdErrFileHandler *os.File
|
||||||
|
|
||||||
func NewWriterFromConfig(c *Config) (RollingWriter, error) {
|
func NewWriterFromConfig(c *Config) (RollingWriter, error) {
|
||||||
if c.LogPath == "" || c.FileName == "" {
|
if c.LogPath == "" || c.FileName == "" {
|
||||||
return nil, ErrInvalidArgument
|
return nil, ErrInvalidArgument
|
||||||
|
|
@ -92,6 +96,16 @@ func NewWriterFromConfig(c *Config) (RollingWriter, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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)
|
mng, err := NewManager(c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ import (
|
||||||
|
|
||||||
func Start() {
|
func Start() {
|
||||||
viper.Init()
|
viper.Init()
|
||||||
app.Init()
|
|
||||||
log.Init()
|
log.Init()
|
||||||
|
app.Init()
|
||||||
db.Init()
|
db.Init()
|
||||||
migration.Init()
|
migration.Init()
|
||||||
validator.Init()
|
validator.Init()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue