syslog日志路径 添加windows目录支持

This commit is contained in:
殷勇 2023-08-28 13:12:45 +08:00
parent 0463bb48fc
commit 28e2d3ea05

View File

@ -1,37 +1,41 @@
package f5
import (
"os"
"sync"
"time"
"fmt"
"os"
"q5"
"runtime"
"sync"
"time"
)
const (
LOG_DEBUG = 0
LOG_INFO = iota
LOG_NOTICE = iota
LOG_WARNING = iota
LOG_ERROR = iota
LOG_ALERT = iota
LOG_DEBUG = 0
LOG_INFO = iota
LOG_NOTICE = iota
LOG_WARNING = iota
LOG_ERROR = iota
LOG_ALERT = iota
LOG_EMERGENCY = iota
)
const SYS_LOG_ROOT = "/data/logs/%s/logs/"
const SYS_LOG_FILENAME = "log_%d_%s.log"
const (
SYS_LOG_ROOT_LINUX = "/data/logs/%s/logs/"
SYS_LOG_ROOT_WINDOWS = "d:/linux_root/data/logs/%s/logs/"
SYS_LOG_FILENAME = "log_%d_%s.log"
)
type LogMsgNode struct {
category int32
logMsg string
next *LogMsgNode
logMsg string
next *LogMsgNode
}
type SysLog_ struct {
logLevel int32
topNode *LogMsgNode
botNode *LogMsgNode
msgMutex sync.Mutex
logLevel int32
topNode *LogMsgNode
botNode *LogMsgNode
msgMutex sync.Mutex
chGoSaveExit chan int
}
@ -128,10 +132,10 @@ func (this *SysLog_) goSaveToFile() {
this.botNode = nil
this.msgMutex.Unlock()
if workNode != nil {
logDir := fmt.Sprintf(SYS_LOG_ROOT, GetApp().GetPkgName())
logDir := this.GetLogDir()
fileName := fmt.Sprintf(TGLOG_FILENAME, os.Getpid(), time.Now().Format("20060102"))
q5.ForceCreateDir(logDir)
if f, err := os.OpenFile(logDir + fileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666); err == nil {
if f, err := os.OpenFile(logDir+fileName, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666); err == nil {
for workNode != nil {
f.Write([]byte(workNode.logMsg))
workNode = workNode.next
@ -143,3 +147,12 @@ func (this *SysLog_) goSaveToFile() {
}
}
}
func (this *SysLog_) GetLogDir() string {
pkgName := GetApp().GetPkgName()
var logDir string = fmt.Sprintf(SYS_LOG_ROOT_LINUX, pkgName)
if runtime.GOOS == "windows" {
logDir = fmt.Sprintf(SYS_LOG_ROOT_WINDOWS, pkgName)
}
return logDir
}