mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-03 15:10:49 +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:
@@ -24,9 +24,9 @@ func ({{.Variable}} *{{.CapitalName}}) Start(wg *sync.WaitGroup) {
|
||||
// Run implements the {{.CapitalName}} wrapper
|
||||
func ({{.Variable}} *{{.CapitalName}}) Run() {
|
||||
if {{.Variable}}.Verbose {
|
||||
{{if .WS}} log.Debugf("%s Websocket: %s. (url: %s).\n", {{.Variable}}.GetName(), common.IsEnabled({{.Variable}}.Websocket.IsEnabled()), {{.Variable}}.Websocket.GetWebsocketURL()) {{end}}
|
||||
log.Debugf("%s polling delay: %ds.\n", {{.Variable}}.GetName(), {{.Variable}}.RESTPollingDelay)
|
||||
log.Debugf("%s %d currencies enabled: %s.\n", {{.Variable}}.GetName(), len({{.Variable}}.EnabledPairs), {{.Variable}}.EnabledPairs)
|
||||
{{if .WS}} log.Debugf(log.ExchangeSys, "%s Websocket: %s. (url: %s).\n", {{.Variable}}.GetName(), common.IsEnabled({{.Variable}}.Websocket.IsEnabled()), {{.Variable}}.Websocket.GetWebsocketURL()) {{end}}
|
||||
log.Debugf(log.ExchangeSys, "%s polling delay: %ds.\n", {{.Variable}}.GetName(), {{.Variable}}.RESTPollingDelay)
|
||||
log.Debugf(log.ExchangeSys, "%s %d currencies enabled: %s.\n", {{.Variable}}.GetName(), len({{.Variable}}.EnabledPairs), {{.Variable}}.EnabledPairs)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1948,3 +1948,104 @@ var withdrawFiatFundsCommand = cli.Command{
|
||||
func withdrawFiatFunds(_ *cli.Context) error {
|
||||
return common.ErrNotYetImplemented
|
||||
}
|
||||
|
||||
var getLoggerDetailsCommand = cli.Command{
|
||||
Name: "getloggerdetails",
|
||||
Action: getLoggerDetails,
|
||||
Flags: []cli.Flag{
|
||||
cli.StringFlag{
|
||||
Name: "logger",
|
||||
Usage: "logger to get level details of",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func getLoggerDetails(c *cli.Context) error {
|
||||
if c.NArg() == 0 && c.NumFlags() == 0 {
|
||||
cli.ShowCommandHelp(c, "getloggerdetails")
|
||||
return nil
|
||||
}
|
||||
|
||||
var logger string
|
||||
if c.IsSet("logger") {
|
||||
logger = c.String("logger")
|
||||
} else {
|
||||
logger = c.Args().First()
|
||||
}
|
||||
|
||||
conn, err := setupClient()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := gctrpc.NewGoCryptoTraderClient(conn)
|
||||
|
||||
result, err := client.GetLoggerDetails(context.Background(),
|
||||
&gctrpc.GetLoggerDetailsRequest{
|
||||
Logger: logger,
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
jsonOutput(result)
|
||||
return nil
|
||||
}
|
||||
|
||||
var setLoggerDetailsCommand = cli.Command{
|
||||
Name: "setloggerdetails",
|
||||
Action: setLoggerDetails,
|
||||
Flags: []cli.Flag{
|
||||
cli.StringFlag{
|
||||
Name: "logger",
|
||||
Usage: "logger to get level details of",
|
||||
},
|
||||
cli.StringFlag{
|
||||
Name: "flags",
|
||||
Usage: "pipe separated value of loggers e.g INFO|WARN",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func setLoggerDetails(c *cli.Context) error {
|
||||
if c.NArg() == 0 && c.NumFlags() == 0 {
|
||||
cli.ShowCommandHelp(c, "setloggerdetails")
|
||||
return nil
|
||||
}
|
||||
|
||||
var logger string
|
||||
var level string
|
||||
|
||||
if c.IsSet("logger") {
|
||||
logger = c.String("logger")
|
||||
} else {
|
||||
logger = c.Args().First()
|
||||
}
|
||||
|
||||
if c.IsSet("level") {
|
||||
level = c.String("level")
|
||||
} else {
|
||||
level = c.Args().Get(1)
|
||||
}
|
||||
|
||||
conn, err := setupClient()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
client := gctrpc.NewGoCryptoTraderClient(conn)
|
||||
|
||||
result, err := client.SetLoggerDetails(context.Background(),
|
||||
&gctrpc.SetLoggerDetailsRequest{
|
||||
Logger: logger,
|
||||
Level: level,
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
jsonOutput(result)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -122,6 +122,8 @@ func main() {
|
||||
getCryptocurrencyDepositAddressCommand,
|
||||
withdrawCryptocurrencyFundsCommand,
|
||||
withdrawFiatFundsCommand,
|
||||
getLoggerDetailsCommand,
|
||||
setLoggerDetailsCommand,
|
||||
}
|
||||
|
||||
err := app.Run(os.Args)
|
||||
|
||||
@@ -3,11 +3,12 @@ package main
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/thrasher-/gocryptotrader/config"
|
||||
"github.com/thrasher-/gocryptotrader/currency"
|
||||
"github.com/thrasher-/gocryptotrader/exchanges/bitfinex"
|
||||
log "github.com/thrasher-/gocryptotrader/logger"
|
||||
"github.com/thrasher-/gocryptotrader/portfolio"
|
||||
)
|
||||
|
||||
@@ -25,7 +26,7 @@ func printSummary(msg string, amount float64) {
|
||||
currency.USD,
|
||||
displayCurrency)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
log.Println(err)
|
||||
} else {
|
||||
symb, err := currency.GetSymbolByCurrencyName(displayCurrency)
|
||||
if err != nil {
|
||||
@@ -64,7 +65,8 @@ func main() {
|
||||
|
||||
defaultCfg, err := config.GetFilePath("")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
log.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
flag.StringVar(&inFile, "infile", defaultCfg, "The config input file to process.")
|
||||
@@ -76,7 +78,8 @@ func main() {
|
||||
var cfg config.Config
|
||||
err = cfg.LoadConfig(inFile)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
log.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
log.Println("Loaded config file.")
|
||||
|
||||
@@ -105,7 +108,8 @@ func main() {
|
||||
}
|
||||
err = currency.SeedForeignExchangeData(fiatCurrencies)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
log.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
log.Println("Fetched currency data.")
|
||||
|
||||
@@ -42,8 +42,8 @@ type WebsocketEventResponse struct {
|
||||
// WebsocketOrderbookTickerRequest is a struct used for ticker and orderbook
|
||||
// requests
|
||||
type WebsocketOrderbookTickerRequest struct {
|
||||
Exchange string `json:"exchangeName"`
|
||||
Currency string `json:"currency"`
|
||||
Exchange string `json:"exchangeName"`
|
||||
Currency string `json:"currency"`
|
||||
AssetType asset.Item `json:"assetType"`
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user