diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-08 13:44:23 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-08 13:44:23 -0500 |
| commit | a8b340cbb29dbcf7fd5d101e640d66470c6d32bf (patch) | |
| tree | a626c151e9ccb8809dd6d667fb9146fe4bb3ffea /Emby.Server.Implementations/HttpServer/LoggerUtils.cs | |
| parent | 05a5ce58a9293f6669960c735911e9455c5d8188 (diff) | |
update portable projects
Diffstat (limited to 'Emby.Server.Implementations/HttpServer/LoggerUtils.cs')
| -rw-r--r-- | Emby.Server.Implementations/HttpServer/LoggerUtils.cs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/HttpServer/LoggerUtils.cs b/Emby.Server.Implementations/HttpServer/LoggerUtils.cs new file mode 100644 index 000000000..8fc92a09a --- /dev/null +++ b/Emby.Server.Implementations/HttpServer/LoggerUtils.cs @@ -0,0 +1,43 @@ +using MediaBrowser.Model.Logging; +using System; +using System.Globalization; +using SocketHttpListener.Net; + +namespace Emby.Server.Implementations.HttpServer +{ + public static class LoggerUtils + { + /// <summary> + /// Logs the request. + /// </summary> + /// <param name="logger">The logger.</param> + /// <param name="request">The request.</param> + public static void LogRequest(ILogger logger, HttpListenerRequest request) + { + var url = request.Url.ToString(); + + logger.Info("{0} {1}. UserAgent: {2}", request.IsWebSocketRequest ? "WS" : "HTTP " + request.HttpMethod, url, request.UserAgent ?? string.Empty); + } + + public static void LogRequest(ILogger logger, string url, string method, string userAgent) + { + logger.Info("{0} {1}. UserAgent: {2}", "HTTP " + method, url, userAgent ?? string.Empty); + } + + /// <summary> + /// Logs the response. + /// </summary> + /// <param name="logger">The logger.</param> + /// <param name="statusCode">The status code.</param> + /// <param name="url">The URL.</param> + /// <param name="endPoint">The end point.</param> + /// <param name="duration">The duration.</param> + public static void LogResponse(ILogger logger, int statusCode, string url, string endPoint, TimeSpan duration) + { + var durationMs = duration.TotalMilliseconds; + var logSuffix = durationMs >= 1000 && durationMs < 60000 ? "ms (slow)" : "ms"; + + logger.Info("HTTP Response {0} to {1}. Time: {2}{3}. {4}", statusCode, endPoint, Convert.ToInt32(durationMs).ToString(CultureInfo.InvariantCulture), logSuffix, url); + } + } +} |
