mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
新增异步日志功能
This commit is contained in:
52
node/node.go
52
node/node.go
@@ -19,7 +19,6 @@ import (
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
var sig chan os.Signal
|
||||
@@ -28,8 +27,8 @@ var preSetupService []service.IService //预安装
|
||||
var profilerInterval time.Duration
|
||||
var bValid bool
|
||||
var configDir = "./config/"
|
||||
var logLevel slog.Level = log.LevelTrace
|
||||
var logPath string
|
||||
|
||||
|
||||
type BuildOSType = int8
|
||||
|
||||
const(
|
||||
@@ -51,6 +50,7 @@ func init() {
|
||||
console.RegisterCommandString("loglevel", "debug", "<-loglevel debug|release|warning|error|fatal> Set loglevel.", setLevel)
|
||||
console.RegisterCommandString("logpath", "", "<-logpath path> Set log file path.", setLogPath)
|
||||
console.RegisterCommandInt("logsize", 0, "<-logsize size> Set log size(MB).", setLogSize)
|
||||
console.RegisterCommandInt("logchannelcap", 0, "<-logchannelcap num> Set log channel cap.", setLogChannelCapNum)
|
||||
console.RegisterCommandString("pprof", "", "<-pprof ip:port> Open performance analysis.", setPprof)
|
||||
}
|
||||
|
||||
@@ -178,13 +178,13 @@ func initNode(id int) {
|
||||
}
|
||||
|
||||
func initLog() error {
|
||||
if logPath == "" {
|
||||
if log.LogPath == "" {
|
||||
setLogPath("./log")
|
||||
}
|
||||
|
||||
localnodeinfo := cluster.GetCluster().GetLocalNodeInfo()
|
||||
filepre := fmt.Sprintf("%s_%d_", localnodeinfo.NodeName, localnodeinfo.NodeId)
|
||||
logger, err := log.NewTextLogger(logLevel,logPath,filepre,true)
|
||||
logger, err := log.NewTextLogger(log.LogLevel,log.LogPath,filepre,true,log.LogChannelCap)
|
||||
if err != nil {
|
||||
fmt.Printf("cannot create log file!\n")
|
||||
return err
|
||||
@@ -282,6 +282,7 @@ func startNode(args interface{}) error {
|
||||
service.StopAllService()
|
||||
|
||||
log.Info("Server is stop.")
|
||||
log.Close()
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -305,7 +306,6 @@ func GetConfigDir() string {
|
||||
return configDir
|
||||
}
|
||||
|
||||
|
||||
func OpenProfilerReport(interval time.Duration) {
|
||||
profilerInterval = interval
|
||||
}
|
||||
@@ -333,19 +333,19 @@ func setLevel(args interface{}) error {
|
||||
strlogLevel := strings.TrimSpace(args.(string))
|
||||
switch strlogLevel {
|
||||
case "trace":
|
||||
logLevel = log.LevelTrace
|
||||
log.LogLevel = log.LevelTrace
|
||||
case "debug":
|
||||
logLevel = log.LevelDebug
|
||||
log.LogLevel = log.LevelDebug
|
||||
case "info":
|
||||
logLevel = log.LevelInfo
|
||||
log.LogLevel = log.LevelInfo
|
||||
case "warning":
|
||||
logLevel = log.LevelWarning
|
||||
log.LogLevel = log.LevelWarning
|
||||
case "error":
|
||||
logLevel = log.LevelError
|
||||
log.LogLevel = log.LevelError
|
||||
case "stack":
|
||||
logLevel = log.LevelStack
|
||||
log.LogLevel = log.LevelStack
|
||||
case "fatal":
|
||||
logLevel = log.LevelFatal
|
||||
log.LogLevel = log.LevelFatal
|
||||
default:
|
||||
return errors.New("unknown level: " + strlogLevel)
|
||||
}
|
||||
@@ -356,16 +356,17 @@ func setLogPath(args interface{}) error {
|
||||
if args == "" {
|
||||
return nil
|
||||
}
|
||||
logPath = strings.TrimSpace(args.(string))
|
||||
dir, err := os.Stat(logPath) //这个文件夹不存在
|
||||
|
||||
log.LogPath = strings.TrimSpace(args.(string))
|
||||
dir, err := os.Stat(log.LogPath) //这个文件夹不存在
|
||||
if err == nil && dir.IsDir() == false {
|
||||
return errors.New("Not found dir " + logPath)
|
||||
return errors.New("Not found dir " + log.LogPath)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
err = os.Mkdir(logPath, os.ModePerm)
|
||||
err = os.Mkdir(log.LogPath, os.ModePerm)
|
||||
if err != nil {
|
||||
return errors.New("Cannot create dir " + logPath)
|
||||
return errors.New("Cannot create dir " + log.LogPath)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,6 +377,7 @@ func setLogSize(args interface{}) error {
|
||||
if args == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
logSize,ok := args.(int)
|
||||
if ok == false{
|
||||
return errors.New("param logsize is error")
|
||||
@@ -385,3 +387,17 @@ func setLogSize(args interface{}) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func setLogChannelCapNum(args interface{}) error {
|
||||
if args == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
logChannelCap,ok := args.(int)
|
||||
if ok == false{
|
||||
return errors.New("param logsize is error")
|
||||
}
|
||||
|
||||
log.LogChannelCap = logChannelCap
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user