blob: d2432d8a43d3448f13f063c15c7d427ddbfd9e45 [file] [log] [blame]
using BaSys40.Utils.ResultHandling;
using NLog;
using System;
using System.Net.Http;
using System.Text;
namespace BaSys40.Utils.Logging
{
public static class LoggingExtentions
{
public static void LogResult(this IResult result, Logger logger, LogLevel logLevel, string additionalText = null, Exception exp = null)
{
StringBuilder logText = new StringBuilder();
logText.Append("Success: " + result.Success).Append(" || ");
if (result.Messages != null)
{
for (int i = 0; i < result.Messages.Count; i++)
{
logText.Append("Message[" + i + "] = " + result.Messages[i].Text).Append(" || ");
}
}
if (result.Entity != null && result.Entity is HttpResponseMessage response)
{
logText.Append("StatusCode: " + ((int)response.StatusCode).ToString()).Append(response.ReasonPhrase).Append(" || ");
logText.Append("Body: " + response.Content.ReadAsStringAsync().Result).Append(" || ");
}
if (!string.IsNullOrEmpty(additionalText))
logText.Append("AdditionalText: " + additionalText).Append(" || ");
string msg = logText.ToString();
if (exp != null)
logger.Log(logLevel, exp, msg);
else
logger.Log(logLevel, msg);
}
}
}