Merge pull request #2038 from vcptr/earlylog

Earlylogger
pull/2039/head
Kslr 2019-11-19 18:26:17 +08:00 committed by GitHub
commit c94f5f66a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 9 deletions

View File

@ -29,6 +29,13 @@ func New(ctx context.Context, config *Config) (*Instance, error) {
}
log.RegisterHandler(g)
// start logger instantly on inited
// other modules would log during init
if err := g.startInternal(); err != nil {
return nil, err
}
newError("Logger started").AtDebug().WriteToLog()
return g, nil
}
@ -81,13 +88,7 @@ func (g *Instance) startInternal() error {
// Start implements common.Runnable.Start().
func (g *Instance) Start() error {
if err := g.startInternal(); err != nil {
return err
}
newError("Logger started").AtDebug().WriteToLog()
return nil
return g.startInternal()
}
// Handle implements log.Handler.

View File

@ -341,11 +341,15 @@ func (c *Config) Build() (*core.Config, error) {
config.App = append(config.App, serial.ToTypedMessage(statsConf))
}
var logConfMsg *serial.TypedMessage
if c.LogConfig != nil {
config.App = append(config.App, serial.ToTypedMessage(c.LogConfig.Build()))
logConfMsg = serial.ToTypedMessage(c.LogConfig.Build())
} else {
config.App = append(config.App, serial.ToTypedMessage(DefaultLogConfig()))
logConfMsg = serial.ToTypedMessage(DefaultLogConfig())
}
// let logger module be the first App to start,
// so that other modules could print log during initiating
config.App = append([]*serial.TypedMessage{logConfMsg}, config.App...)
if c.RouterConfig != nil {
routerConfig, err := c.RouterConfig.Build()