mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-12 22:54:43 +08:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d225bb4bd2 | ||
|
|
ea37fb5081 | ||
|
|
0a92f48d0b | ||
|
|
f5e86fee02 |
@@ -10,16 +10,20 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const defaultSkip = 7
|
||||||
type IOriginHandler interface {
|
type IOriginHandler interface {
|
||||||
slog.Handler
|
slog.Handler
|
||||||
Lock()
|
Lock()
|
||||||
UnLock()
|
UnLock()
|
||||||
|
SetSkip(skip int)
|
||||||
|
GetSkip() int
|
||||||
}
|
}
|
||||||
|
|
||||||
type BaseHandler struct {
|
type BaseHandler struct {
|
||||||
addSource bool
|
addSource bool
|
||||||
w io.Writer
|
w io.Writer
|
||||||
locker sync.Mutex
|
locker sync.Mutex
|
||||||
|
skip int
|
||||||
}
|
}
|
||||||
|
|
||||||
type OriginTextHandler struct {
|
type OriginTextHandler struct {
|
||||||
@@ -32,6 +36,14 @@ type OriginJsonHandler struct {
|
|||||||
*slog.JSONHandler
|
*slog.JSONHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bh *BaseHandler) SetSkip(skip int){
|
||||||
|
bh.skip = skip
|
||||||
|
}
|
||||||
|
|
||||||
|
func (bh *BaseHandler) GetSkip() int{
|
||||||
|
return bh.skip
|
||||||
|
}
|
||||||
|
|
||||||
func getStrLevel(level slog.Level) string{
|
func getStrLevel(level slog.Level) string{
|
||||||
switch level {
|
switch level {
|
||||||
case LevelTrace:
|
case LevelTrace:
|
||||||
@@ -78,6 +90,7 @@ func NewOriginTextHandler(level slog.Level,w io.Writer,addSource bool,replaceAtt
|
|||||||
ReplaceAttr: replaceAttr,
|
ReplaceAttr: replaceAttr,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
textHandler.skip = defaultSkip
|
||||||
return &textHandler
|
return &textHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,6 +137,7 @@ func NewOriginJsonHandler(level slog.Level,w io.Writer,addSource bool,replaceAtt
|
|||||||
ReplaceAttr: replaceAttr,
|
ReplaceAttr: replaceAttr,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
jsonHandler.skip = defaultSkip
|
||||||
return &jsonHandler
|
return &jsonHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +155,7 @@ func (oh *OriginJsonHandler) Handle(context context.Context, record slog.Record)
|
|||||||
func (b *BaseHandler) Fill(context context.Context, record *slog.Record) {
|
func (b *BaseHandler) Fill(context context.Context, record *slog.Record) {
|
||||||
if b.addSource {
|
if b.addSource {
|
||||||
var pcs [1]uintptr
|
var pcs [1]uintptr
|
||||||
runtime.Callers(7, pcs[:])
|
runtime.Callers(b.skip, pcs[:])
|
||||||
record.PC = pcs[0]
|
record.PC = pcs[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,10 @@ func (iw *IoWriter) swichFile() error{
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetDefaultHandler() IOriginHandler{
|
||||||
|
return gLogger.(*Logger).Slogger.Handler().(IOriginHandler)
|
||||||
|
}
|
||||||
|
|
||||||
func NewTextLogger(level slog.Level,pathName string,filePrefix string,addSource bool,logChannelCap int) (ILogger,error){
|
func NewTextLogger(level slog.Level,pathName string,filePrefix string,addSource bool,logChannelCap int) (ILogger,error){
|
||||||
var logger Logger
|
var logger Logger
|
||||||
logger.ioWriter.filePath = pathName
|
logger.ioWriter.filePath = pathName
|
||||||
|
|||||||
14
node/node.go
14
node/node.go
@@ -29,6 +29,7 @@ var preSetupTemplateService []func()service.IService
|
|||||||
var profilerInterval time.Duration
|
var profilerInterval time.Duration
|
||||||
var bValid bool
|
var bValid bool
|
||||||
var configDir = "./config/"
|
var configDir = "./config/"
|
||||||
|
var NodeIsRun = false
|
||||||
|
|
||||||
const(
|
const(
|
||||||
SingleStop syscall.Signal = 10
|
SingleStop syscall.Signal = 10
|
||||||
@@ -57,7 +58,7 @@ func init() {
|
|||||||
console.RegisterCommandString("loglevel", "debug", "<-loglevel debug|release|warning|error|fatal> Set loglevel.", setLevel)
|
console.RegisterCommandString("loglevel", "debug", "<-loglevel debug|release|warning|error|fatal> Set loglevel.", setLevel)
|
||||||
console.RegisterCommandString("logpath", "", "<-logpath path> Set log file path.", setLogPath)
|
console.RegisterCommandString("logpath", "", "<-logpath path> Set log file path.", setLogPath)
|
||||||
console.RegisterCommandInt("logsize", 0, "<-logsize size> Set log size(MB).", setLogSize)
|
console.RegisterCommandInt("logsize", 0, "<-logsize size> Set log size(MB).", setLogSize)
|
||||||
console.RegisterCommandInt("logchannelcap", 0, "<-logchannelcap num> Set log channel cap.", setLogChannelCapNum)
|
console.RegisterCommandInt("logchannelcap", -1, "<-logchannelcap num> Set log channel cap.", setLogChannelCapNum)
|
||||||
console.RegisterCommandString("pprof", "", "<-pprof ip:port> Open performance analysis.", setPprof)
|
console.RegisterCommandString("pprof", "", "<-pprof ip:port> Open performance analysis.", setPprof)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -354,13 +355,14 @@ func startNode(args interface{}) error {
|
|||||||
cluster.GetCluster().Start()
|
cluster.GetCluster().Start()
|
||||||
|
|
||||||
//6.监听程序退出信号&性能报告
|
//6.监听程序退出信号&性能报告
|
||||||
bRun := true
|
|
||||||
var pProfilerTicker *time.Ticker = &time.Ticker{}
|
var pProfilerTicker *time.Ticker = &time.Ticker{}
|
||||||
if profilerInterval > 0 {
|
if profilerInterval > 0 {
|
||||||
pProfilerTicker = time.NewTicker(profilerInterval)
|
pProfilerTicker = time.NewTicker(profilerInterval)
|
||||||
}
|
}
|
||||||
|
|
||||||
for bRun {
|
NodeIsRun = true
|
||||||
|
for NodeIsRun {
|
||||||
select {
|
select {
|
||||||
case s := <-sig:
|
case s := <-sig:
|
||||||
signal := s.(syscall.Signal)
|
signal := s.(syscall.Signal)
|
||||||
@@ -368,7 +370,7 @@ func startNode(args interface{}) error {
|
|||||||
log.Info("receipt retire signal.")
|
log.Info("receipt retire signal.")
|
||||||
notifyAllServiceRetire()
|
notifyAllServiceRetire()
|
||||||
}else {
|
}else {
|
||||||
bRun = false
|
NodeIsRun = false
|
||||||
log.Info("receipt stop signal.")
|
log.Info("receipt stop signal.")
|
||||||
}
|
}
|
||||||
case <-pProfilerTicker.C:
|
case <-pProfilerTicker.C:
|
||||||
@@ -504,6 +506,10 @@ func setLogChannelCapNum(args interface{}) error {
|
|||||||
return errors.New("param logsize is error")
|
return errors.New("param logsize is error")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if logChannelCap == -1 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
log.LogChannelCap = logChannelCap
|
log.LogChannelCap = logChannelCap
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,10 @@ func (mm *MongoModule) Start() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (mm *MongoModule) Stop() error {
|
||||||
|
return mm.client.Disconnect(context.Background())
|
||||||
|
}
|
||||||
|
|
||||||
func (mm *MongoModule) TakeSession() Session {
|
func (mm *MongoModule) TakeSession() Session {
|
||||||
return Session{Client: mm.client, maxOperatorTimeOut: mm.maxOperatorTimeOut}
|
return Session{Client: mm.client, maxOperatorTimeOut: mm.maxOperatorTimeOut}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user