I'm trying to implement some logging around my web api calls. Nothing too fancy, but I'm still learning async/await and would like the logging to happen without disrupting performance.
Here's an example of what I'd like to implement, just not totally sure how to do it.
public class Logging : ActionFilterAttribute
{
public override async Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
{
// DoLoggingHere(); ????
base.OnActionExecutingAsync(actionContext, cancellationToken);
// OrDoLoggingHere(); ????
// Also, what does the return look like if any?
}
public override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
{
// This method should/could complete before the logging completes.
base.OnActionExecutedAsync(actionExecutedContext, cancellationToken);
// Might log here too.
}
}
Basically I don't want any of my logging to get in the way of the HTTP call. It should be transparent.
Looking for any help!