mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 05:57:03 +09:00
log config
This commit is contained in:
parent
273a98d985
commit
ad8e2c5ac3
11 changed files with 87 additions and 15 deletions
9
Makefile
9
Makefile
|
@ -29,13 +29,14 @@ proto:
|
|||
$(GOGO_START) protoc --gogofaster_out=:. $(P_TEST_CHANGES_PATH_PB)/proto/*.proto
|
||||
$(eval PKGMAP := $$(P_TREE_CHANGES),$$(P_ACL_RECORDS))
|
||||
$(GOGO_START) protoc --gogofaster_out=$(PKGMAP):. --go-drpc_out=protolib=github.com/gogo/protobuf:. common/commonspace/spacesyncproto/protos/*.proto
|
||||
$(GOGO_START) protoc --gogofaster_out=:. --go-drpc_out=protolib=github.com/gogo/protobuf:. consensus/consensusproto/protos/*.proto
|
||||
|
||||
|
||||
|
||||
build:
|
||||
@$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/app))
|
||||
go build -v -o bin/anytype-node -ldflags "$(FLAGS)" cmd/node/node.go
|
||||
|
||||
test-deps:
|
||||
@echo 'Generating test mocks...'
|
||||
@go install github.com/golang/mock/mockgen
|
||||
@go generate ./...
|
||||
build-consensus:
|
||||
@$(eval FLAGS := $$(shell govvv -flags -pkg github.com/anytypeio/go-anytype-infrastructure-experiments/app))
|
||||
go build -v -o bin/consensus-node -ldflags "$(FLAGS)" cmd/consensusnode/consensusnode.go
|
||||
|
|
|
@ -1,21 +1,50 @@
|
|||
package logger
|
||||
|
||||
import "go.uber.org/zap"
|
||||
import (
|
||||
"go.uber.org/zap"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var DefaultLogger *zap.Logger
|
||||
var (
|
||||
mu sync.Mutex
|
||||
defaultLogger *zap.Logger
|
||||
levels = make(map[string]zap.AtomicLevel)
|
||||
loggers = make(map[string]*zap.Logger)
|
||||
)
|
||||
|
||||
func init() {
|
||||
DefaultLogger, _ = zap.NewDevelopment(zap.IncreaseLevel(zap.InfoLevel))
|
||||
defaultLogger, _ = zap.NewDevelopment()
|
||||
zap.NewProduction()
|
||||
}
|
||||
|
||||
func SetDefault(l *zap.Logger) {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
*defaultLogger = *l
|
||||
for name, l := range loggers {
|
||||
*l = *defaultLogger.Named(name)
|
||||
}
|
||||
}
|
||||
|
||||
func SetNamedLevels(l map[string]zap.AtomicLevel) {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
levels = l
|
||||
}
|
||||
|
||||
func Default() *zap.Logger {
|
||||
return DefaultLogger
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
return defaultLogger
|
||||
}
|
||||
|
||||
func NewNamed(name string, fields ...zap.Field) *zap.Logger {
|
||||
l := DefaultLogger.Named(name)
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
l := defaultLogger.Named(name)
|
||||
if len(fields) > 0 {
|
||||
l = l.With(fields...)
|
||||
}
|
||||
loggers[name] = l
|
||||
return l
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ func main() {
|
|||
if err != nil {
|
||||
log.Fatal("can't open config file", zap.Error(err))
|
||||
}
|
||||
|
||||
conf.Log.ApplyGlobal()
|
||||
// bootstrap components
|
||||
a.Register(conf)
|
||||
Bootstrap(a)
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
"sync"
|
||||
)
|
||||
|
||||
const CName = "net/dialer"
|
||||
const CName = "common.net.dialer"
|
||||
|
||||
var ErrArrdsNotFound = errors.New("addrs for peer not found")
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
CName = "net.pool"
|
||||
CName = "common.net.pool"
|
||||
)
|
||||
|
||||
var log = logger.NewNamed(CName)
|
||||
|
|
|
@ -18,7 +18,7 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
const CName = "net/drpcserver"
|
||||
const CName = "common.net.drpcserver"
|
||||
|
||||
var log = logger.NewNamed(CName)
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import (
|
|||
|
||||
type HandshakeError error
|
||||
|
||||
const CName = "net/secure"
|
||||
const CName = "common.net.secure"
|
||||
|
||||
var log = logger.NewNamed(CName)
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ type Config struct {
|
|||
Nodes []Node `yaml:"nodes"`
|
||||
Space Space `yaml:"space"`
|
||||
Metric Metric `yaml:"metric"`
|
||||
Log Log `yaml:"log"`
|
||||
}
|
||||
|
||||
func (c *Config) Init(a *app.App) (err error) {
|
||||
|
|
36
config/log.go
Normal file
36
config/log.go
Normal file
|
@ -0,0 +1,36 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type Log struct {
|
||||
Production bool `yaml:"production"`
|
||||
DefaultLevel string `yaml:"defaultLevel"`
|
||||
NamedLevels map[string]string `yaml:"namedLevels"`
|
||||
}
|
||||
|
||||
func (l Log) ApplyGlobal() {
|
||||
var conf zap.Config
|
||||
if l.Production {
|
||||
conf = zap.NewProductionConfig()
|
||||
} else {
|
||||
conf = zap.NewDevelopmentConfig()
|
||||
}
|
||||
if defaultLevel, err := zap.ParseAtomicLevel(l.DefaultLevel); err == nil {
|
||||
conf.Level = defaultLevel
|
||||
}
|
||||
var levels = make(map[string]zap.AtomicLevel)
|
||||
for k, v := range l.NamedLevels {
|
||||
if lev, err := zap.ParseAtomicLevel(v); err != nil {
|
||||
levels[k] = lev
|
||||
}
|
||||
}
|
||||
defaultLogger, err := conf.Build()
|
||||
if err != nil {
|
||||
logger.Default().Fatal("can't build logger", zap.Error(err))
|
||||
}
|
||||
logger.SetDefault(defaultLogger)
|
||||
logger.SetNamedLevels(levels)
|
||||
}
|
|
@ -26,6 +26,7 @@ type Config struct {
|
|||
Account config.Account `yaml:"account"`
|
||||
Mongo Mongo `yaml:"mongo"`
|
||||
Metric config.Metric `yaml:"metric"`
|
||||
Log config.Log `yaml:"log"`
|
||||
}
|
||||
|
||||
func (c *Config) Init(a *app.App) (err error) {
|
||||
|
|
|
@ -12,3 +12,7 @@ mongo:
|
|||
logCollection: log
|
||||
metric:
|
||||
addr: "127.0.0.1:4000"
|
||||
log:
|
||||
production: true
|
||||
defaultLevel: debug
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue