mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-31 23:16:54 +00:00
New logging system (#319)
* First pass at adding new logging system * NewLogger * NewLogger * WIP * silly bug fix * :D removed files * removed old logging interface * added tests * added tests * Started to add new lines to all f calls * Added subsystem log types * Logger improvements * Further performance improvements * changes to logger and sublogger creation * Renamed Logging types * removed old print statement * changes based on feedback * moved sublogger types to own file * :) * added console as output type * added get level command * added get/set log level via grpc command * added check for output being empty for migration support * first pass at log rotation * added log rotation * :D derp fixed * added tests * changes based on feedback * changed log type * comments * renamed file -> fileSettings * typo fix * changes based on feedback * gofmt ran on additional files * gofmt ran on additional files
This commit is contained in:
@@ -64,21 +64,21 @@ func authenticateClient(ctx context.Context) (context.Context, error) {
|
||||
func StartRPCServer() {
|
||||
err := checkCerts()
|
||||
if err != nil {
|
||||
log.Errorf("gRPC checkCerts failed. err: %s", err)
|
||||
log.Errorf(log.GRPCSys, "gRPC checkCerts failed. err: %s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Debugf("gRPC server support enabled. Starting gRPC server on https://%v.", Bot.Config.RemoteControl.GRPC.ListenAddress)
|
||||
log.Debugf(log.GRPCSys, "gRPC server support enabled. Starting gRPC server on https://%v.\n", Bot.Config.RemoteControl.GRPC.ListenAddress)
|
||||
lis, err := net.Listen("tcp", Bot.Config.RemoteControl.GRPC.ListenAddress)
|
||||
if err != nil {
|
||||
log.Errorf("gRPC server failed to bind to port: %s", err)
|
||||
log.Errorf(log.GRPCSys, "gRPC server failed to bind to port: %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
targetDir := utils.GetTLSDir(Bot.Settings.DataDir)
|
||||
creds, err := credentials.NewServerTLSFromFile(filepath.Join(targetDir, "cert.pem"), filepath.Join(targetDir, "key.pem"))
|
||||
if err != nil {
|
||||
log.Errorf("gRPC server could not load TLS keys: %s", err)
|
||||
log.Errorf(log.GRPCSys, "gRPC server could not load TLS keys: %s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -92,12 +92,12 @@ func StartRPCServer() {
|
||||
|
||||
go func() {
|
||||
if err := server.Serve(lis); err != nil {
|
||||
log.Errorf("gRPC server failed to serve: %s", err)
|
||||
log.Errorf(log.GRPCSys, "gRPC server failed to serve: %s\n", err)
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
log.Debugf("gRPC server started!")
|
||||
log.Debugln(log.GRPCSys, "gRPC server started!")
|
||||
|
||||
if Bot.Settings.EnableGRPCProxy {
|
||||
StartRPCRESTProxy()
|
||||
@@ -106,7 +106,7 @@ func StartRPCServer() {
|
||||
|
||||
// StartRPCRESTProxy starts a gRPC proxy
|
||||
func StartRPCRESTProxy() {
|
||||
log.Debugf("gRPC proxy server support enabled. Starting gRPC proxy server on http://%v.", Bot.Config.RemoteControl.GRPC.GRPCProxyListenAddress)
|
||||
log.Debugf(log.GRPCSys, "gRPC proxy server support enabled. Starting gRPC proxy server on http://%v.\n", Bot.Config.RemoteControl.GRPC.GRPCProxyListenAddress)
|
||||
ctx := context.Background()
|
||||
ctx, cancel := context.WithCancel(ctx)
|
||||
defer cancel()
|
||||
@@ -114,7 +114,7 @@ func StartRPCRESTProxy() {
|
||||
targetDir := utils.GetTLSDir(Bot.Settings.DataDir)
|
||||
creds, err := credentials.NewClientTLSFromFile(filepath.Join(targetDir, "cert.pem"), "")
|
||||
if err != nil {
|
||||
log.Errorf("Unabled to start gRPC proxy. Err: %s", err)
|
||||
log.Errorf(log.GRPCSys, "Unabled to start gRPC proxy. Err: %s\n", err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -127,17 +127,17 @@ func StartRPCRESTProxy() {
|
||||
}
|
||||
err = gctrpc.RegisterGoCryptoTraderHandlerFromEndpoint(ctx, mux, Bot.Config.RemoteControl.GRPC.ListenAddress, opts)
|
||||
if err != nil {
|
||||
log.Errorf("Failed to register gRPC proxy. Err: %s", err)
|
||||
log.Errorf(log.GRPCSys, "Failed to register gRPC proxy. Err: %s\n", err)
|
||||
}
|
||||
|
||||
go func() {
|
||||
if err := http.ListenAndServe(Bot.Config.RemoteControl.GRPC.GRPCProxyListenAddress, mux); err != nil {
|
||||
log.Errorf("gRPC proxy failed to server: %s", err)
|
||||
log.Errorf(log.GRPCSys, "gRPC proxy failed to server: %s\n", err)
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
log.Debugf("gRPC proxy server started!")
|
||||
log.Debugln(log.GRPCSys, "gRPC proxy server started!")
|
||||
select {}
|
||||
|
||||
}
|
||||
@@ -606,7 +606,7 @@ func (s *RPCServer) GetForexRates(ctx context.Context, r *gctrpc.GetForexRatesRe
|
||||
func (s *RPCServer) GetOrders(ctx context.Context, r *gctrpc.GetOrdersRequest) (*gctrpc.GetOrdersResponse, error) {
|
||||
exch := GetExchangeByName(r.Exchange)
|
||||
if exch == nil {
|
||||
log.Debugln(exch)
|
||||
log.Debugln(log.GRPCSys, exch)
|
||||
return nil, errors.New("exchange is not loaded/doesn't exist")
|
||||
}
|
||||
|
||||
@@ -827,3 +827,31 @@ func (s *RPCServer) WithdrawCryptocurrencyFunds(ctx context.Context, r *gctrpc.W
|
||||
func (s *RPCServer) WithdrawFiatFunds(ctx context.Context, r *gctrpc.WithdrawCurrencyRequest) (*gctrpc.WithdrawResponse, error) {
|
||||
return &gctrpc.WithdrawResponse{}, common.ErrNotYetImplemented
|
||||
}
|
||||
|
||||
func (s *RPCServer) GetLoggerDetails(ctx context.Context, r *gctrpc.GetLoggerDetailsRequest) (*gctrpc.GetLoggerDetailsResponse, error) {
|
||||
levels, err := log.Level(r.Logger)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &gctrpc.GetLoggerDetailsResponse{
|
||||
Info: levels.Info,
|
||||
Debug: levels.Debug,
|
||||
Warn: levels.Warn,
|
||||
Error: levels.Error,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *RPCServer) SetLoggerDetails(ctx context.Context, r *gctrpc.SetLoggerDetailsRequest) (*gctrpc.GetLoggerDetailsResponse, error) {
|
||||
levels, err := log.SetLevel(r.Logger, r.Level)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &gctrpc.GetLoggerDetailsResponse{
|
||||
Info: levels.Info,
|
||||
Debug: levels.Debug,
|
||||
Warn: levels.Warn,
|
||||
Error: levels.Error,
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user