这是indexloc提供的服务,不要输入任何密码
Skip to content
This repository was archived by the owner on Dec 10, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion cmd/blastd/dispatcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ func startDispatcher(c *cli.Context) error {
logMaxAge := c.GlobalInt("log-max-age")
logCompress := c.GlobalBool("log-compress")

grpcLogLevel := c.GlobalString("grpc-log-level")
grpcLogFilename := c.GlobalString("grpc-log-file")
grpcLogMaxSize := c.GlobalInt("grpc-log-max-size")
grpcLogMaxBackups := c.GlobalInt("grpc-log-max-backups")
grpcLogMaxAge := c.GlobalInt("grpc-log-max-age")
grpcLogCompress := c.GlobalBool("grpc-log-compress")

httpAccessLogFilename := c.GlobalString("http-access-log-file")
httpAccessLogMaxSize := c.GlobalInt("http-access-log-max-size")
httpAccessLogMaxBackups := c.GlobalInt("http-access-log-max-backups")
Expand All @@ -53,6 +60,16 @@ func startDispatcher(c *cli.Context) error {
logCompress,
)

// create logger
grpcLogger := logutils.NewGRPCLogger(
grpcLogLevel,
grpcLogFilename,
grpcLogMaxSize,
grpcLogMaxBackups,
grpcLogMaxAge,
grpcLogCompress,
)

// create HTTP access logger
httpAccessLogger := logutils.NewApacheCombinedLogger(
httpAccessLogFilename,
Expand All @@ -62,7 +79,7 @@ func startDispatcher(c *cli.Context) error {
httpAccessLogCompress,
)

svr, err := dispatcher.NewServer(managerAddr, grpcAddr, httpAddr, logger, httpAccessLogger)
svr, err := dispatcher.NewServer(managerAddr, grpcAddr, httpAddr, logger, grpcLogger, httpAccessLogger)
if err != nil {
return err
}
Expand Down
19 changes: 18 additions & 1 deletion cmd/blastd/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ func startIndexer(c *cli.Context) error {
logMaxAge := c.GlobalInt("log-max-age")
logCompress := c.GlobalBool("log-compress")

grpcLogLevel := c.GlobalString("grpc-log-level")
grpcLogFilename := c.GlobalString("grpc-log-file")
grpcLogMaxSize := c.GlobalInt("grpc-log-max-size")
grpcLogMaxBackups := c.GlobalInt("grpc-log-max-backups")
grpcLogMaxAge := c.GlobalInt("grpc-log-max-age")
grpcLogCompress := c.GlobalBool("grpc-log-compress")

httpAccessLogFilename := c.GlobalString("http-access-log-file")
httpAccessLogMaxSize := c.GlobalInt("http-access-log-max-size")
httpAccessLogMaxBackups := c.GlobalInt("http-access-log-max-backups")
Expand Down Expand Up @@ -66,6 +73,16 @@ func startIndexer(c *cli.Context) error {
logCompress,
)

// create logger
grpcLogger := logutils.NewGRPCLogger(
grpcLogLevel,
grpcLogFilename,
grpcLogMaxSize,
grpcLogMaxBackups,
grpcLogMaxAge,
grpcLogCompress,
)

// create HTTP access logger
httpAccessLogger := logutils.NewApacheCombinedLogger(
httpAccessLogFilename,
Expand Down Expand Up @@ -133,7 +150,7 @@ func startIndexer(c *cli.Context) error {
"index_storage_type": indexStorageType,
}

svr, err := indexer.NewServer(managerAddr, clusterId, nodeId, metadata, raftStorageType, peerAddr, indexConfig, logger.Named(nodeId), httpAccessLogger)
svr, err := indexer.NewServer(managerAddr, clusterId, nodeId, metadata, raftStorageType, peerAddr, indexConfig, logger.Named(nodeId), grpcLogger.Named(nodeId), httpAccessLogger)
if err != nil {
return err
}
Expand Down
29 changes: 29 additions & 0 deletions cmd/blastd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,35 @@ func main() {
Name: "log-compress",
Usage: "Compress a log file",
},
cli.StringFlag{
Name: "grpc-log-level",
Value: "INFO",
Usage: "gRPC log level",
},
cli.StringFlag{
Name: "grpc-log-file",
Value: os.Stderr.Name(),
Usage: "gRPC log file",
},
cli.IntFlag{
Name: "grpc-log-max-size",
Value: 500,
Usage: "Max size of a log file (megabytes)",
},
cli.IntFlag{
Name: "grpc-log-max-backups",
Value: 3,
Usage: "Max backup count of log files",
},
cli.IntFlag{
Name: "grpc-log-max-age",
Value: 30,
Usage: "Max age of a log file (days)",
},
cli.BoolFlag{
Name: "grpc-log-compress",
Usage: "Compress a log file",
},
cli.StringFlag{
Name: "http-access-log-file",
Value: os.Stderr.Name(),
Expand Down
19 changes: 18 additions & 1 deletion cmd/blastd/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ func startManager(c *cli.Context) error {
logMaxAge := c.GlobalInt("log-max-age")
logCompress := c.GlobalBool("log-compress")

grpcLogLevel := c.GlobalString("grpc-log-level")
grpcLogFilename := c.GlobalString("grpc-log-file")
grpcLogMaxSize := c.GlobalInt("grpc-log-max-size")
grpcLogMaxBackups := c.GlobalInt("grpc-log-max-backups")
grpcLogMaxAge := c.GlobalInt("grpc-log-max-age")
grpcLogCompress := c.GlobalBool("grpc-log-compress")

httpAccessLogFilename := c.GlobalString("http-access-log-file")
httpAccessLogMaxSize := c.GlobalInt("http-access-log-max-size")
httpAccessLogMaxBackups := c.GlobalInt("http-access-log-max-backups")
Expand Down Expand Up @@ -63,6 +70,16 @@ func startManager(c *cli.Context) error {
logCompress,
)

// create logger
grpcLogger := logutils.NewGRPCLogger(
grpcLogLevel,
grpcLogFilename,
grpcLogMaxSize,
grpcLogMaxBackups,
grpcLogMaxAge,
grpcLogCompress,
)

// create HTTP access logger
httpAccessLogger := logutils.NewApacheCombinedLogger(
httpAccessLogFilename,
Expand Down Expand Up @@ -130,7 +147,7 @@ func startManager(c *cli.Context) error {
"index_storage_type": indexStorageType,
}

svr, err := manager.NewServer(nodeId, metadata, raftStorageType, peerAddr, indexConfig, logger.Named(nodeId), httpAccessLogger)
svr, err := manager.NewServer(nodeId, metadata, raftStorageType, peerAddr, indexConfig, logger.Named(nodeId), grpcLogger.Named(nodeId), httpAccessLogger)
if err != nil {
return err
}
Expand Down
6 changes: 4 additions & 2 deletions dispatcher/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,19 @@ type Server struct {
httpServer *http.Server

logger *zap.Logger
grpcLogger *zap.Logger
httpLogger accesslog.Logger
}

func NewServer(managerAddr string, grpcAddr string, httpAddr string, logger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
func NewServer(managerAddr string, grpcAddr string, httpAddr string, logger *zap.Logger, grpcLogger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
return &Server{
managerAddr: managerAddr,

grpcAddr: grpcAddr,
httpAddr: httpAddr,

logger: logger,
grpcLogger: grpcLogger,
httpLogger: httpLogger,
}, nil
}
Expand All @@ -60,7 +62,7 @@ func (s *Server) Start() {
}

// create gRPC server
s.grpcServer, err = grpc.NewServer(s.grpcAddr, s.grpcService, s.logger)
s.grpcServer, err = grpc.NewServer(s.grpcAddr, s.grpcService, s.grpcLogger)
if err != nil {
s.logger.Fatal(err.Error())
return
Expand Down
6 changes: 4 additions & 2 deletions indexer/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,11 @@ type Server struct {
httpServer *http.Server

logger *zap.Logger
grpcLogger *zap.Logger
httpLogger accesslog.Logger
}

func NewServer(managerAddr string, clusterId string, id string, metadata map[string]interface{}, raftStorageType, peerAddr string, indexConfig map[string]interface{}, logger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
func NewServer(managerAddr string, clusterId string, id string, metadata map[string]interface{}, raftStorageType, peerAddr string, indexConfig map[string]interface{}, logger *zap.Logger, grpcLogger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
return &Server{
managerAddr: managerAddr,
clusterId: clusterId,
Expand All @@ -58,6 +59,7 @@ func NewServer(managerAddr string, clusterId string, id string, metadata map[str
indexConfig: indexConfig,

logger: logger,
grpcLogger: grpcLogger,
httpLogger: httpLogger,
}, nil
}
Expand Down Expand Up @@ -193,7 +195,7 @@ func (s *Server) Start() {
}

// create gRPC server
s.grpcServer, err = grpc.NewServer(grpcAddr, s.grpcService, s.logger)
s.grpcServer, err = grpc.NewServer(grpcAddr, s.grpcService, s.grpcLogger)
if err != nil {
s.logger.Fatal(err.Error())
return
Expand Down
7 changes: 5 additions & 2 deletions indexer/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,10 @@ func TestIndexserStandalone(t *testing.T) {
}

// create logger
logger := logutils.NewLogger("WARN", "", 500, 3, 30, false)
logger := logutils.NewLogger("DEBUG", "", 500, 3, 30, false)

// create logger
grpcLogger := logutils.NewLogger("WARN", "", 500, 3, 30, false)

// create HTTP access logger
httpAccessLogger := logutils.NewApacheCombinedLogger("", 500, 3, 30, false)
Expand Down Expand Up @@ -133,7 +136,7 @@ func TestIndexserStandalone(t *testing.T) {
"data_dir": dataDir,
}

server, err := NewServer("", "", nodeId, metadata, "boltdb", peerAddr, indexConfig, logger, httpAccessLogger)
server, err := NewServer("", "", nodeId, metadata, "boltdb", peerAddr, indexConfig, logger, grpcLogger, httpAccessLogger)
defer func() {
server.Stop()
}()
Expand Down
80 changes: 80 additions & 0 deletions logutils/grpc_logger.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// Copyright (c) 2019 Minoru Osuka
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package logutils

import (
"os"

"github.com/natefinch/lumberjack"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)

func NewGRPCLogger(logLevel string, logFilename string, logMaxSize int, logMaxBackups int, logMaxAge int, logCompress bool) *zap.Logger {
var ll zapcore.Level
switch logLevel {
case "DEBUG":
ll = zap.DebugLevel
case "INFO":
ll = zap.InfoLevel
case "WARN", "WARNING":
ll = zap.WarnLevel
case "ERR", "ERROR":
ll = zap.WarnLevel
case "DPANIC":
ll = zap.DPanicLevel
case "PANIC":
ll = zap.PanicLevel
case "FATAL":
ll = zap.FatalLevel
}

var ws zapcore.WriteSyncer
if logFilename == "" {
ws = zapcore.AddSync(os.Stderr)
} else {
ws = zapcore.AddSync(
&lumberjack.Logger{
Filename: logFilename,
MaxSize: logMaxSize, // megabytes
MaxBackups: logMaxBackups,
MaxAge: logMaxAge, // days
Compress: logCompress,
},
)
}

ec := zap.NewProductionEncoderConfig()
ec.TimeKey = "_timestamp_"
ec.LevelKey = "_level_"
ec.NameKey = "_name_"
ec.CallerKey = "_caller_"
ec.MessageKey = "_message_"
ec.StacktraceKey = "_stacktrace_"
ec.EncodeTime = zapcore.ISO8601TimeEncoder
ec.EncodeCaller = zapcore.ShortCallerEncoder

logger := zap.New(
zapcore.NewCore(
zapcore.NewJSONEncoder(ec),
ws,
ll,
),
//zap.AddCaller(),
//zap.AddStacktrace(ll),
)

return logger
}
6 changes: 4 additions & 2 deletions manager/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,19 @@ type Server struct {
httpServer *http.Server

logger *zap.Logger
grpcLogger *zap.Logger
httpLogger accesslog.Logger
}

func NewServer(id string, metadata map[string]interface{}, raftStorageType string, peerAddr string, indexConfig map[string]interface{}, logger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
func NewServer(id string, metadata map[string]interface{}, raftStorageType string, peerAddr string, indexConfig map[string]interface{}, logger *zap.Logger, grpcLogger *zap.Logger, httpLogger accesslog.Logger) (*Server, error) {
return &Server{
id: id,
metadata: metadata,
raftStorageType: raftStorageType,
peerAddr: peerAddr,
indexConfig: indexConfig,
logger: logger,
grpcLogger: grpcLogger,
httpLogger: httpLogger,
}, nil
}
Expand All @@ -73,7 +75,7 @@ func (s *Server) Start() {
}

// create gRPC server
s.grpcServer, err = grpc.NewServer(s.metadata["grpc_addr"].(string), s.grpcService, s.logger)
s.grpcServer, err = grpc.NewServer(s.metadata["grpc_addr"].(string), s.grpcService, s.grpcLogger)
if err != nil {
s.logger.Fatal(err.Error())
return
Expand Down
Loading