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:
Agent
ElapsedMilliseconds
Method
Url
Host
Path
Port
QueryString
Query
RequestBody
RequestHeaders
StatusCode
StatusCodeFamily
StatusDescription
ResponseStatus
IsSuccessful
ErrorMessage
ErrorException
ResponseContent
ContentLength
ContentType
ContentEncoding
ResponseHeaders
ProtocolVersion
Use env var to change default value
-
SERILOG_ERROR_MESSAGE_MAX_LENGTH
default value 256; -
SERILOG_ERROR_EXCEPTION_MAX_LENGTH
default 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