mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-05 23:16:53 +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:
@@ -281,11 +281,12 @@ func (r *Requester) checkRequest(method, path string, body io.Reader, headers ma
|
||||
// DoRequest performs a HTTP/HTTPS request with the supplied params
|
||||
func (r *Requester) DoRequest(req *http.Request, path string, body io.Reader, result interface{}, authRequest, verbose, httpDebug bool) error {
|
||||
if verbose {
|
||||
log.Debugf("%s exchange request path: %s requires rate limiter: %v", r.Name, path, r.RequiresRateLimiter())
|
||||
log.Debugf(log.Global,
|
||||
"%s exchange request path: %s requires rate limiter: %v", r.Name, path, r.RequiresRateLimiter())
|
||||
for k, d := range req.Header {
|
||||
log.Debugf("%s exchange request header [%s]: %s", r.Name, k, d)
|
||||
log.Debugf(log.Global, "%s exchange request header [%s]: %s", r.Name, k, d)
|
||||
}
|
||||
log.Debug(body)
|
||||
log.Debugln(log.Global, body)
|
||||
}
|
||||
|
||||
var timeoutError error
|
||||
@@ -294,7 +295,7 @@ func (r *Requester) DoRequest(req *http.Request, path string, body io.Reader, re
|
||||
if err != nil {
|
||||
if timeoutErr, ok := err.(net.Error); ok && timeoutErr.Timeout() {
|
||||
if verbose {
|
||||
log.Errorf("%s request has timed-out retrying request, count %d",
|
||||
log.Errorf(log.ExchangeSys, "%s request has timed-out retrying request, count %d",
|
||||
r.Name,
|
||||
i)
|
||||
}
|
||||
@@ -332,7 +333,7 @@ func (r *Requester) DoRequest(req *http.Request, path string, body io.Reader, re
|
||||
reader = resp.Body
|
||||
|
||||
default:
|
||||
log.Warnf("%s request response content type differs from JSON; received %v [path: %s]",
|
||||
log.Warnf(log.ExchangeSys, "%s request response content type differs from JSON; received %v [path: %s]\n",
|
||||
r.Name, resp.Header.Get("Content-Type"), path)
|
||||
reader = resp.Body
|
||||
}
|
||||
@@ -356,17 +357,17 @@ func (r *Requester) DoRequest(req *http.Request, path string, body io.Reader, re
|
||||
if httpDebug {
|
||||
dump, err := httputil.DumpResponse(resp, false)
|
||||
if err != nil {
|
||||
log.Errorf("DumpResponse invalid response: %v:", err)
|
||||
log.Errorf(log.Global, "DumpResponse invalid response: %v:", err)
|
||||
}
|
||||
log.Debugf("DumpResponse Headers (%v):\n%s", path, dump)
|
||||
log.Debugf("DumpResponse Body (%v):\n %s", path, string(contents))
|
||||
log.Debugf(log.Global, "DumpResponse Headers (%v):\n%s", path, dump)
|
||||
log.Debugf(log.Global, "DumpResponse Body (%v):\n %s", path, string(contents))
|
||||
}
|
||||
|
||||
resp.Body.Close()
|
||||
if verbose {
|
||||
log.Debugf("HTTP status: %s, Code: %v", resp.Status, resp.StatusCode)
|
||||
log.Debugf(log.ExchangeSys, "HTTP status: %s, Code: %v", resp.Status, resp.StatusCode)
|
||||
if !httpDebug {
|
||||
log.Debugf("%s exchange raw response: %s", r.Name, string(contents))
|
||||
log.Debugf(log.ExchangeSys, "%s exchange raw response: %s", r.Name, string(contents))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,7 +396,7 @@ func (r *Requester) worker() {
|
||||
limit := r.GetRateLimit(x.AuthRequest)
|
||||
diff := limit.GetDuration() - time.Since(r.Cycle)
|
||||
if x.Verbose {
|
||||
log.Debugf("%s request. Rate limited! Sleeping for %v", r.Name, diff)
|
||||
log.Debugf(log.ExchangeSys, "%s request. Rate limited! Sleeping for %v", r.Name, diff)
|
||||
}
|
||||
time.Sleep(diff)
|
||||
|
||||
@@ -407,7 +408,7 @@ func (r *Requester) worker() {
|
||||
r.IncrementRequests(x.AuthRequest)
|
||||
|
||||
if x.Verbose {
|
||||
log.Debugf("%s request. No longer rate limited! Doing request", r.Name)
|
||||
log.Debugf(log.ExchangeSys, "%s request. No longer rate limited! Doing request", r.Name)
|
||||
}
|
||||
|
||||
err := r.DoRequest(x.Request, x.Path, x.Body, x.Result, x.AuthRequest, x.Verbose, x.HTTPDebugging)
|
||||
@@ -452,9 +453,11 @@ func (r *Requester) SendPayload(method, path string, headers map[string]string,
|
||||
if httpDebugging {
|
||||
dump, err := httputil.DumpRequestOut(req, true)
|
||||
if err != nil {
|
||||
log.Errorf("DumpRequest invalid response %v:", err)
|
||||
log.Errorf(log.Global,
|
||||
"DumpRequest invalid response %v:", err)
|
||||
}
|
||||
log.Debugf("DumpRequest:\n%s", dump)
|
||||
log.Debugf(log.Global,
|
||||
"DumpRequest:\n%s", dump)
|
||||
}
|
||||
|
||||
if !r.RequiresRateLimiter() {
|
||||
@@ -491,18 +494,18 @@ func (r *Requester) SendPayload(method, path string, headers map[string]string,
|
||||
}
|
||||
|
||||
if verbose {
|
||||
log.Debugf("%s request. Attaching new job.", r.Name)
|
||||
log.Debugf(log.ExchangeSys, "%s request. Attaching new job.", r.Name)
|
||||
}
|
||||
r.Jobs <- newJob
|
||||
r.unlock()
|
||||
|
||||
if verbose {
|
||||
log.Debugf("%s request. Waiting for job to complete.", r.Name)
|
||||
log.Debugf(log.ExchangeSys, "%s request. Waiting for job to complete.", r.Name)
|
||||
}
|
||||
resp := <-newJob.JobResult
|
||||
|
||||
if verbose {
|
||||
log.Debugf("%s request. Job complete.", r.Name)
|
||||
log.Debugf(log.ExchangeSys, "%s request. Job complete.", r.Name)
|
||||
}
|
||||
|
||||
return resp.Error
|
||||
@@ -563,7 +566,7 @@ func (r *Requester) lock() {
|
||||
wg.Done()
|
||||
select {
|
||||
case <-timer.C:
|
||||
log.Errorf("Unlocking due to possible error for %s", r.Name)
|
||||
log.Errorf(log.ExchangeSys, "Unlocking due to possible error for %s", r.Name)
|
||||
r.fifoLock.Unlock()
|
||||
|
||||
case <-r.disengage:
|
||||
|
||||
Reference in New Issue
Block a user