olivierlemasle opened a new issue #3:
URL: https://github.com/apache/cloudstack-go/issues/3


   This issue is a follow-up of 
https://github.com/xanzy/go-cloudstack/issues/120.
   
   That issue was opened by @synergiator with the title "How to change the log 
level for go-cloudstack module?" and asked for a way to have more detailed 
logging.
   
   I proposed a broader solution:
   
   > I also think that adding logging would be useful, but as there's never 
consensus on what to log or which logging library to use (log, zap, logrus, 
etc.), what would you think of adding some "hooks", optional functions that 
would be called before and after the actual http request? The user of 
CloudStack client could then provide its own logging or tracing logic.
   > 
   > IMHO, the best would be to also add an **optional** context.Context to all 
API functions, in order to make it possible to do contextual tracing for 
example.
   > 
   > A possible signature for these hooks could be:
   > 
   > ```go
   > // PreRequestHook would be called in newRequest, just before the HTTP 
request call.
   > type PreRequestHook func(ctx context.Context, api string, params 
url.Values)
   > 
   > // PostRequestHook would be called in each generated client function,
   > // just after the Unmarshal step.
   > type PostRequestHook func(ctx context.Context, rawResp json.RawMessage, 
err error, resp interface{})
   > ```
   > 
   > I can contribute and submit a PR if you are ok with that.
   
   Any thoughts?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to