Do you need log all communication made with RestSharp using your serilog configuration? Just install this package and register our client proxy for IRestClient.
IRestClient client = new RestClientAutolog("http://www.github.com");PM> Install-Package RestSharp.Serilog.Auto
You can change error message, success message and logger configuration.
var loggerConfiguration = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.WithMachineName()
.Enrich.WithProperty("Domain", "MyDomain")
.Enrich.WithProperty("Application", "MyProject")
.Enrich.FromLogContext()
.WriteTo.Seq("http://localhost:5341")
.WriteTo.Console();
var restClientAutologConfiguration = new RestClientAutologConfiguration()
{
MessageTemplateForSuccess = "{Method} {Url} responded {StatusCode}",
MessageTemplateForError = "{Method} {Url} is not good! {ErrorMessage}",
LoggerConfiguration = loggerConfiguration
};
IRestClient client = new RestClientAutolog("http://www.github.com", restClientAutologConfiguration);Serilog uses Log.Logger as global. If you setup this on your application Startup/Bootstrap, it's not needed change logger configuration.
Properties created like (...).Enrich.WithProperty("Application", "MyProject") can be used in templates.
Default variables:
AgentElapsedMillisecondsMethodUrlHostPathPortQueryStringQueryRequestBodyRequestHeadersStatusCodeStatusCodeFamilyStatusDescriptionResponseStatusIsSuccessfulErrorMessageErrorExceptionResponseContentContentLengthContentTypeContentEncodingResponseHeadersProtocolVersion
Use env var to change default value
SERILOG_ERROR_MESSAGE_MAX_LENGTHdefault value 256;SERILOG_ERROR_EXCEPTION_MAX_LENGTHdefault value 1024;
Please, refer to CONTRIBUTING
Open a new Issue following our issue template ISSUE_TEMPLATE
See in nuget version history
if you liked this project, please make a contribution and help to keep this and other initiatives, send me some Satochis.
BTC Wallet: 1G535x1rYdMo9CNdTGK3eG6XJddBHdaqfX
