src/Microsoft.Azure.SignalR.Common/ServiceConnections/Internal/WebSocketsTransport.Log.cs (126 lines of code) (raw):

// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; using System.Net.WebSockets; using Microsoft.Extensions.Logging; namespace Microsoft.Azure.SignalR.Connections.Client.Internal { internal partial class WebSocketsTransport { private static class Log { private static readonly Action<ILogger, WebSocketMessageType, Uri, Exception> _startTransport = LoggerMessage.Define<WebSocketMessageType, Uri>(LogLevel.Information, new EventId(1, "StartTransport"), "Starting transport. Transfer mode: {TransferFormat}. Url: '{WebSocketUrl}'."); private static readonly Action<ILogger, Exception> _transportStopped = LoggerMessage.Define(LogLevel.Debug, new EventId(2, "TransportStopped"), "Transport stopped."); private static readonly Action<ILogger, Exception> _startReceive = LoggerMessage.Define(LogLevel.Debug, new EventId(3, "StartReceive"), "Starting receive loop."); private static readonly Action<ILogger, Exception> _receiveStopped = LoggerMessage.Define(LogLevel.Debug, new EventId(4, "ReceiveStopped"), "Receive loop stopped."); private static readonly Action<ILogger, Exception> _receiveCanceled = LoggerMessage.Define(LogLevel.Debug, new EventId(5, "ReceiveCanceled"), "Receive loop canceled."); private static readonly Action<ILogger, Exception> _transportStopping = LoggerMessage.Define(LogLevel.Information, new EventId(6, "TransportStopping"), "Transport is stopping."); private static readonly Action<ILogger, Exception> _sendStarted = LoggerMessage.Define(LogLevel.Debug, new EventId(7, "SendStarted"), "Starting the send loop."); private static readonly Action<ILogger, Exception> _sendStopped = LoggerMessage.Define(LogLevel.Debug, new EventId(8, "SendStopped"), "Send loop stopped."); private static readonly Action<ILogger, Exception> _sendCanceled = LoggerMessage.Define(LogLevel.Debug, new EventId(9, "SendCanceled"), "Send loop canceled."); private static readonly Action<ILogger, int, Exception> _messageToApp = LoggerMessage.Define<int>(LogLevel.Debug, new EventId(10, "MessageToApp"), "Passing message to application. Payload size: {Count}."); private static readonly Action<ILogger, WebSocketCloseStatus?, Exception> _webSocketClosed = LoggerMessage.Define<WebSocketCloseStatus?>(LogLevel.Information, new EventId(11, "WebSocketClosed"), "WebSocket closed by the server. Close status {CloseStatus}."); private static readonly Action<ILogger, WebSocketMessageType, int, bool, Exception> _messageReceived = LoggerMessage.Define<WebSocketMessageType, int, bool>(LogLevel.Debug, new EventId(12, "MessageReceived"), "Message received. Type: {MessageType}, size: {Count}, EndOfMessage: {EndOfMessage}."); private static readonly Action<ILogger, long, Exception> _receivedFromApp = LoggerMessage.Define<long>(LogLevel.Debug, new EventId(13, "ReceivedFromApp"), "Received message from application. Payload size: {Count}."); private static readonly Action<ILogger, Exception> _sendMessageCanceled = LoggerMessage.Define(LogLevel.Information, new EventId(14, "SendMessageCanceled"), "Sending a message canceled."); private static readonly Action<ILogger, Exception> _errorSendingMessage = LoggerMessage.Define(LogLevel.Error, new EventId(15, "ErrorSendingMessage"), "Error while sending a message."); private static readonly Action<ILogger, Exception> _closingWebSocket = LoggerMessage.Define(LogLevel.Information, new EventId(16, "ClosingWebSocket"), "Closing WebSocket."); private static readonly Action<ILogger, Exception> _closingWebSocketFailed = LoggerMessage.Define(LogLevel.Debug, new EventId(17, "ClosingWebSocketFailed"), "Closing webSocket failed."); private static readonly Action<ILogger, Exception> _cancelMessage = LoggerMessage.Define(LogLevel.Debug, new EventId(18, "CancelMessage"), "Canceled passing message to application."); private static readonly Action<ILogger, Exception> _startedTransport = LoggerMessage.Define(LogLevel.Debug, new EventId(19, "StartedTransport"), "Started transport."); public static void StartTransport(ILogger logger, WebSocketMessageType transferFormat, Uri webSocketUrl) { _startTransport(logger, transferFormat, webSocketUrl, null); } public static void TransportStopped(ILogger logger, Exception exception) { _transportStopped(logger, exception); } public static void StartReceive(ILogger logger) { _startReceive(logger, null); } public static void TransportStopping(ILogger logger) { _transportStopping(logger, null); } public static void MessageToApp(ILogger logger, int count) { _messageToApp(logger, count, null); } public static void ReceiveCanceled(ILogger logger) { _receiveCanceled(logger, null); } public static void ReceiveStopped(ILogger logger) { _receiveStopped(logger, null); } public static void SendStarted(ILogger logger) { _sendStarted(logger, null); } public static void SendCanceled(ILogger logger) { _sendCanceled(logger, null); } public static void SendStopped(ILogger logger) { _sendStopped(logger, null); } public static void WebSocketClosed(ILogger logger, WebSocketCloseStatus? closeStatus) { _webSocketClosed(logger, closeStatus, null); } public static void MessageReceived(ILogger logger, WebSocketMessageType messageType, int count, bool endOfMessage) { _messageReceived(logger, messageType, count, endOfMessage, null); } public static void ReceivedFromApp(ILogger logger, long count) { _receivedFromApp(logger, count, null); } public static void SendMessageCanceled(ILogger logger) { _sendMessageCanceled(logger, null); } public static void ErrorSendingMessage(ILogger logger, Exception exception) { _errorSendingMessage(logger, exception); } public static void ClosingWebSocket(ILogger logger) { _closingWebSocket(logger, null); } public static void ClosingWebSocketFailed(ILogger logger, Exception exception) { _closingWebSocketFailed(logger, exception); } public static void CancelMessage(ILogger logger) { _cancelMessage(logger, null); } public static void StartedTransport(ILogger logger) { _startedTransport(logger, null); } } } }