syslog日志路径 添加windows目录支持
This commit is contained in:
parent
0463bb48fc
commit
28e2d3ea05
51
syslog.go
51
syslog.go
@ -1,37 +1,41 @@
|
|||||||
package f5
|
package f5
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
|
||||||
"sync"
|
|
||||||
"time"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"q5"
|
"q5"
|
||||||
|
"runtime"
|
||||||
|
"sync"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LOG_DEBUG = 0
|
LOG_DEBUG = 0
|
||||||
LOG_INFO = iota
|
LOG_INFO = iota
|
||||||
LOG_NOTICE = iota
|
LOG_NOTICE = iota
|
||||||
LOG_WARNING = iota
|
LOG_WARNING = iota
|
||||||
LOG_ERROR = iota
|
LOG_ERROR = iota
|
||||||
LOG_ALERT = iota
|
LOG_ALERT = iota
|
||||||
LOG_EMERGENCY = iota
|
LOG_EMERGENCY = iota
|
||||||
)
|
)
|
||||||
|
|
||||||
const SYS_LOG_ROOT = "/data/logs/%s/logs/"
|
const (
|
||||||
const SYS_LOG_FILENAME = "log_%d_%s.log"
|
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 {
|
type LogMsgNode struct {
|
||||||
category int32
|
category int32
|
||||||
logMsg string
|
logMsg string
|
||||||
next *LogMsgNode
|
next *LogMsgNode
|
||||||
}
|
}
|
||||||
|
|
||||||
type SysLog_ struct {
|
type SysLog_ struct {
|
||||||
logLevel int32
|
logLevel int32
|
||||||
topNode *LogMsgNode
|
topNode *LogMsgNode
|
||||||
botNode *LogMsgNode
|
botNode *LogMsgNode
|
||||||
msgMutex sync.Mutex
|
msgMutex sync.Mutex
|
||||||
chGoSaveExit chan int
|
chGoSaveExit chan int
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,10 +132,10 @@ func (this *SysLog_) goSaveToFile() {
|
|||||||
this.botNode = nil
|
this.botNode = nil
|
||||||
this.msgMutex.Unlock()
|
this.msgMutex.Unlock()
|
||||||
if workNode != nil {
|
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"))
|
fileName := fmt.Sprintf(TGLOG_FILENAME, os.Getpid(), time.Now().Format("20060102"))
|
||||||
q5.ForceCreateDir(logDir)
|
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 {
|
for workNode != nil {
|
||||||
f.Write([]byte(workNode.logMsg))
|
f.Write([]byte(workNode.logMsg))
|
||||||
workNode = workNode.next
|
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
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user