/// <summary> /// Create a new eMIP EMP server logger using the given logging delegates. /// </summary> /// <param name="EMPServer">A eMIP EMP server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public EMPServerLogger(EMPServer EMPServer, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMPServer.SOAPServer.HTTPServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.EMPServer = EMPServer ?? throw new ArgumentNullException(nameof(EMPServer), "The given EMP server must not be null!"); #region Register remote start/stop log events #endregion }
/// <summary> /// Create a new OICP Central client logger using the given logging delegates. /// </summary> /// <param name="CentralClient">A OICP Central client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CentralClientLogger(ICentralClient CentralClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CentralClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks if (CentralClient == null) { throw new ArgumentNullException(nameof(CentralClient), "The given Central client must not be null!"); } this.CentralClient = CentralClient; #endregion // Register EVSE data/status push log events //#region PullEVSEData //RegisterEvent("PullEVSEDataRequest", // handler => CentralClient.OnPullEVSEDataSOAPRequest += handler, // handler => CentralClient.OnPullEVSEDataSOAPRequest -= handler, // "PullEVSEData", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PullEVSEDataResponse", // handler => CentralClient.OnPullEVSEDataSOAPResponse += handler, // handler => CentralClient.OnPullEVSEDataSOAPResponse -= handler, // "PullEVSEData", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion //#region PullAuthorizationStart/-ById //RegisterEvent("AuthorizeStartRequest", // handler => CentralClient.OnPullAuthorizationStartSOAPRequest += handler, // handler => CentralClient.OnPullAuthorizationStartSOAPRequest -= handler, // "PullAuthorizationStart", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PullAuthorizationStartResponse", // handler => CentralClient.OnPullAuthorizationStartSOAPResponse += handler, // handler => CentralClient.OnPullAuthorizationStartSOAPResponse -= handler, // "PullAuthorizationStart", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PullAuthorizationStartByIdRequest", // handler => CentralClient.OnPullAuthorizationStartByIdSOAPRequest += handler, // handler => CentralClient.OnPullAuthorizationStartByIdSOAPRequest -= handler, // "PullAuthorizationStartById", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PullAuthorizationStartByIdResponse", // handler => CentralClient.OnPullAuthorizationStartByIdSOAPResponse += handler, // handler => CentralClient.OnPullAuthorizationStartByIdSOAPResponse -= handler, // "PullAuthorizationStartById", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion //#region PushAuthenticationData //RegisterEvent("PushAuthenticationDataRequest", // handler => CentralClient.OnPushAuthenticationDataSOAPRequest += handler, // handler => CentralClient.OnPushAuthenticationDataSOAPRequest -= handler, // "PushAuthenticationData", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PushAuthenticationDataResponse", // handler => CentralClient.OnPushAuthenticationDataSOAPResponse += handler, // handler => CentralClient.OnPushAuthenticationDataSOAPResponse -= handler, // "PushAuthenticationData", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion //#region ReservationStart/-Stop //RegisterEvent("ReservationStartRequest", // handler => CentralClient.OnAuthorizeRemoteReservationStartSOAPRequest += handler, // handler => CentralClient.OnAuthorizeRemoteReservationStartSOAPRequest -= handler, // "ReservationStart", "Reservation", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("ReservationStartResponse", // handler => CentralClient.OnAuthorizeRemoteReservationStartSOAPResponse += handler, // handler => CentralClient.OnAuthorizeRemoteReservationStartSOAPResponse -= handler, // "ReservationStart", "Reservation", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("ReservationStopRequest", // handler => CentralClient.OnAuthorizeRemoteReservationStopSOAPRequest += handler, // handler => CentralClient.OnAuthorizeRemoteReservationStopSOAPRequest -= handler, // "ReservationStop", "Reservation", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("ReservationStopResponse", // handler => CentralClient.OnAuthorizeRemoteReservationStopSOAPResponse += handler, // handler => CentralClient.OnAuthorizeRemoteReservationStopSOAPResponse -= handler, // "ReservationStop", "Reservation", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion //#region AuthorizeRemoteStart/-Stop //RegisterEvent("AuthorizeRemoteStartRequest", // handler => CentralClient.OnAuthorizeRemoteStartSOAPRequest += handler, // handler => CentralClient.OnAuthorizeRemoteStartSOAPRequest -= handler, // "AuthorizeRemoteStart", "AuthorizeRemote", "Authorize", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("AuthorizeRemoteStartResponse", // handler => CentralClient.OnAuthorizeRemoteStartSOAPResponse += handler, // handler => CentralClient.OnAuthorizeRemoteStartSOAPResponse -= handler, // "AuthorizeRemoteStart", "AuthorizeRemote", "Authorize", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("AuthorizeRemoteStopRequest", // handler => CentralClient.OnAuthorizeRemoteStopSOAPRequest += handler, // handler => CentralClient.OnAuthorizeRemoteStopSOAPRequest -= handler, // "AuthorizeRemoteStop", "AuthorizeRemote", "Authorize", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("AuthorizeRemoteStopResponse", // handler => CentralClient.OnAuthorizeRemoteStopSOAPResponse += handler, // handler => CentralClient.OnAuthorizeRemoteStopSOAPResponse -= handler, // "AuthorizeRemoteStop", "AuthorizeRemote", "Authorize", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion //#region GetChargeDetailRecords //RegisterEvent("GetChargeDetailRecordsRequest", // handler => CentralClient.OnGetChargeDetailRecordsSOAPRequest += handler, // handler => CentralClient.OnGetChargeDetailRecordsSOAPRequest -= handler, // "GetChargeDetailRecords", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("GetChargeDetailRecordsResponse", // handler => CentralClient.OnGetChargeDetailRecordsSOAPResponse += handler, // handler => CentralClient.OnGetChargeDetailRecordsSOAPResponse -= handler, // "GetChargeDetailRecords", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion }
/// <summary> /// Create a SMSAPI HTTP logger using the given logging delegates. /// </summary> /// <param name="SMSAPIClient">An SMSAPI client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public SMSAPIClientLogger(SMSAPIClient SMSAPIClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(SMSAPIClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { #region Initial checks this.SMSAPIClient = SMSAPIClient ?? throw new ArgumentNullException(nameof(SMSAPIClient), "The given SMSAPI client must not be null!"); #endregion #region SIMHardware //RegisterEvent("SetSIMHardwareStateRequest", // handler => SMSAPIClient.OnSetSIMHardwareStateRequest += handler, // handler => SMSAPIClient.OnSetSIMHardwareStateRequest -= handler, // "SetSIMHardwareState", "SIMHardware", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("SetSIMHardwareStateResponse", // handler => SMSAPIClient.OnSetSIMHardwareStateResponse += handler, // handler => SMSAPIClient.OnSetSIMHardwareStateResponse -= handler, // "SetSIMHardwareState", "SIMHardware", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new OICP CPO client logger using the given logging delegates. /// </summary> /// <param name="CPOClient">A OICP CPO client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CPOClientLogger(ICPOClient CPOClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.CPOClient = CPOClient ?? throw new ArgumentNullException(nameof(CPOClient), "The given CPO client must not be null!"); #endregion #region Register log events // PushData/-Status RegisterEvent("PushEVSEDataRequest", handler => CPOClient.OnPushEVSEDataSOAPRequest += handler, handler => CPOClient.OnPushEVSEDataSOAPRequest -= handler, "PushEVSEData", "EVSE", "EVSEData", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEDataResponse", handler => CPOClient.OnPushEVSEDataSOAPResponse += handler, handler => CPOClient.OnPushEVSEDataSOAPResponse -= handler, "PushEVSEData", "EVSE", "EVSEData", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEStatusRequest", handler => CPOClient.OnPushEVSEStatusSOAPRequest += handler, handler => CPOClient.OnPushEVSEStatusSOAPRequest -= handler, "PushEVSEStatus", "EVSE", "AuthorizationStart", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEStatusResponse", handler => CPOClient.OnPushEVSEStatusSOAPResponse += handler, handler => CPOClient.OnPushEVSEStatusSOAPResponse -= handler, "PushEVSEStatus", "EVSE", "AuthorizationStart", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // AuthorizeStart/-Stop RegisterEvent("AuthorizeStartRequest", handler => CPOClient.OnAuthorizeStartSOAPRequest += handler, handler => CPOClient.OnAuthorizeStartSOAPRequest -= handler, "AuthorizeStart", "Authorize", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStartResponse", handler => CPOClient.OnAuthorizeStartSOAPResponse += handler, handler => CPOClient.OnAuthorizeStartSOAPResponse -= handler, "AuthorizeStart", "Authorize", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopRequest", handler => CPOClient.OnAuthorizeStopSOAPRequest += handler, handler => CPOClient.OnAuthorizeStopSOAPRequest -= handler, "AuthorizeStop", "Authorize", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopResponse", handler => CPOClient.OnAuthorizeStopSOAPResponse += handler, handler => CPOClient.OnAuthorizeStopSOAPResponse -= handler, "AuthorizeStop", "Authorize", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // SendCDR / PullAuthenticationData RegisterEvent("SendChargeDetailRecordRequest", handler => CPOClient.OnSendChargeDetailRecordSOAPRequest += handler, handler => CPOClient.OnSendChargeDetailRecordSOAPRequest -= handler, "SendChargeDetailRecord", "ChargeDetailRecord", "CDR", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SendChargeDetailRecordResponse", handler => CPOClient.OnSendChargeDetailRecordSOAPResponse += handler, handler => CPOClient.OnSendChargeDetailRecordSOAPResponse -= handler, "SendChargeDetailRecord", "ChargeDetailRecord", "CDR", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullAuthenticationDataRequest", handler => CPOClient.OnPullAuthenticationDataSOAPRequest += handler, handler => CPOClient.OnPullAuthenticationDataSOAPRequest -= handler, "PullAuthenticationData", "AuthenticationData", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullAuthenticationDataResponse", handler => CPOClient.OnPullAuthenticationDataSOAPResponse += handler, handler => CPOClient.OnPullAuthenticationDataSOAPResponse -= handler, "PullAuthenticationData", "AuthenticationData", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new OICP EMP client logger using the given logging delegates. /// </summary> /// <param name="EMPClient">A OICP EMP client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public EMPClientLogger(IEMPClient EMPClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.EMPClient = EMPClient ?? throw new ArgumentNullException(nameof(EMPClient), "The given EMP client must not be null!"); #endregion #region Register log events // PullEVSEData/-Status RegisterEvent("PullEVSEDataRequest", handler => EMPClient.OnPullEVSEDataSOAPRequest += handler, handler => EMPClient.OnPullEVSEDataSOAPRequest -= handler, "PullEVSEData", "EVSE", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEDataResponse", handler => EMPClient.OnPullEVSEDataSOAPResponse += handler, handler => EMPClient.OnPullEVSEDataSOAPResponse -= handler, "PullEVSEData", "EVSE", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusRequest", handler => EMPClient.OnPullEVSEStatusSOAPRequest += handler, handler => EMPClient.OnPullEVSEStatusSOAPRequest -= handler, "PullEVSEStatus", "EVSE", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusResponse", handler => EMPClient.OnPullEVSEStatusSOAPResponse += handler, handler => EMPClient.OnPullEVSEStatusSOAPResponse -= handler, "PullEVSEStatus", "EVSE", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByIdRequest", handler => EMPClient.OnPullEVSEStatusByIdSOAPRequest += handler, handler => EMPClient.OnPullEVSEStatusByIdSOAPRequest -= handler, "PullEVSEStatusById", "EVSE", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByIdResponse", handler => EMPClient.OnPullEVSEStatusByIdSOAPResponse += handler, handler => EMPClient.OnPullEVSEStatusByIdSOAPResponse -= handler, "PullEVSEStatusById", "EVSE", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // PushAuthenticationData RegisterEvent("PushAuthenticationDataRequest", handler => EMPClient.OnPushAuthenticationDataSOAPRequest += handler, handler => EMPClient.OnPushAuthenticationDataSOAPRequest -= handler, "PushAuthenticationData", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushAuthenticationDataResponse", handler => EMPClient.OnPushAuthenticationDataSOAPResponse += handler, handler => EMPClient.OnPushAuthenticationDataSOAPResponse -= handler, "PushAuthenticationData", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // ReservationStart/-Stop RegisterEvent("ReservationStartRequest", handler => EMPClient.OnAuthorizeRemoteReservationStartSOAPRequest += handler, handler => EMPClient.OnAuthorizeRemoteReservationStartSOAPRequest -= handler, "ReservationStart", "Reservation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReservationStartResponse", handler => EMPClient.OnAuthorizeRemoteReservationStartSOAPResponse += handler, handler => EMPClient.OnAuthorizeRemoteReservationStartSOAPResponse -= handler, "ReservationStart", "Reservation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReservationStopRequest", handler => EMPClient.OnAuthorizeRemoteReservationStopSOAPRequest += handler, handler => EMPClient.OnAuthorizeRemoteReservationStopSOAPRequest -= handler, "ReservationStop", "Reservation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReservationStopResponse", handler => EMPClient.OnAuthorizeRemoteReservationStopSOAPResponse += handler, handler => EMPClient.OnAuthorizeRemoteReservationStopSOAPResponse -= handler, "ReservationStop", "Reservation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // AuthorizeRemoteStart/-Stop RegisterEvent("AuthorizeRemoteStartRequest", handler => EMPClient.OnAuthorizeRemoteStartSOAPRequest += handler, handler => EMPClient.OnAuthorizeRemoteStartSOAPRequest -= handler, "AuthorizeRemoteStart", "AuthorizeRemote", "Authorize", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStartResponse", handler => EMPClient.OnAuthorizeRemoteStartSOAPResponse += handler, handler => EMPClient.OnAuthorizeRemoteStartSOAPResponse -= handler, "AuthorizeRemoteStart", "AuthorizeRemote", "Authorize", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStopRequest", handler => EMPClient.OnAuthorizeRemoteStopSOAPRequest += handler, handler => EMPClient.OnAuthorizeRemoteStopSOAPRequest -= handler, "AuthorizeRemoteStop", "AuthorizeRemote", "Authorize", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStopResponse", handler => EMPClient.OnAuthorizeRemoteStopSOAPResponse += handler, handler => EMPClient.OnAuthorizeRemoteStopSOAPResponse -= handler, "AuthorizeRemoteStop", "AuthorizeRemote", "Authorize", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // GetChargeDetailRecords RegisterEvent("GetChargeDetailRecordsRequest", handler => EMPClient.OnGetChargeDetailRecordsSOAPRequest += handler, handler => EMPClient.OnGetChargeDetailRecordsSOAPRequest -= handler, "GetChargeDetailRecords", "ChargeDetailRecords", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetChargeDetailRecordsResponse", handler => EMPClient.OnGetChargeDetailRecordsSOAPResponse += handler, handler => EMPClient.OnGetChargeDetailRecordsSOAPResponse -= handler, "GetChargeDetailRecords", "ChargeDetailRecords", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new OICP Mobile client logger using the given logging delegates. /// </summary> /// <param name="MobileClient">A OICP Mobile client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public MobileClientLogger(IMobileClient MobileClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(MobileClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.MobileClient = MobileClient ?? throw new ArgumentNullException(nameof(MobileClient), "The given mobile client must not be null!"); #endregion #region Register EVSE data/status push log events RegisterEvent("MobileAuthorizeStart", handler => MobileClient.OnMobileAuthorizeStartSOAPRequest += handler, handler => MobileClient.OnMobileAuthorizeStartSOAPRequest -= handler, "Mobile", "Authorize", "AuthorizeStart", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("MobileAuthorizeStarted", handler => MobileClient.OnMobileAuthorizeStartSOAPResponse += handler, handler => MobileClient.OnMobileAuthorizeStartSOAPResponse -= handler, "Mobile", "Authorize", "AuthorizeStart", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("MobileRemoteStart", handler => MobileClient.OnMobileRemoteStartSOAPRequest += handler, handler => MobileClient.OnMobileRemoteStartSOAPRequest -= handler, "Mobile", "Remote", "RemoteStart", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("MobileRemoteStarted", handler => MobileClient.OnMobileRemoteStartSOAPResponse += handler, handler => MobileClient.OnMobileRemoteStartSOAPResponse -= handler, "Mobile", "Remote", "RemoteStart", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("MobileRemoteStop", handler => MobileClient.OnMobileRemoteStopSOAPRequest += handler, handler => MobileClient.OnMobileRemoteStopSOAPRequest -= handler, "Mobile", "Remote", "RemoteStop", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("MobileRemoteStopped", handler => MobileClient.OnMobileRemoteStopSOAPResponse += handler, handler => MobileClient.OnMobileRemoteStopSOAPResponse -= handler, "Mobile", "Remote", "RemoteStop", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new EMP Server API logger using the given logging delegates. /// </summary> /// <param name="EMPServerAPI">An EMP Server API.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(EMPServerAPI EMPServerAPI, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(EMPServerAPI.HTTPServer, LoggingPath, Context, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { this.EMPServerAPI = EMPServerAPI ?? throw new ArgumentNullException(nameof(EMPServerAPI), "The given EMP Server API must not be null!"); #region AuthorizeStart/-Stop RegisterEvent2("AuthorizeStartRequest", handler => EMPServerAPI.OnAuthorizeStartHTTPRequest += handler, handler => EMPServerAPI.OnAuthorizeStartHTTPRequest -= handler, "AuthorizeStart", "authorize", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthorizationStartResponse", handler => EMPServerAPI.OnAuthorizationStartHTTPResponse += handler, handler => EMPServerAPI.OnAuthorizationStartHTTPResponse -= handler, "AuthorizeStart", "authorize", "authorization", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthorizeStopRequest", handler => EMPServerAPI.OnAuthorizeStopHTTPRequest += handler, handler => EMPServerAPI.OnAuthorizeStopHTTPRequest -= handler, "AuthorizeStop", "authorize", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthorizationStopResponse", handler => EMPServerAPI.OnAuthorizationStopHTTPResponse += handler, handler => EMPServerAPI.OnAuthorizationStopHTTPResponse -= handler, "AuthorizeStop", "authorize", "authorization", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region ChargingNotification RegisterEvent2("ChargingNotificationRequest", handler => EMPServerAPI.OnChargingNotificationsHTTPRequest += handler, handler => EMPServerAPI.OnChargingNotificationsHTTPRequest -= handler, "ChargingNotification", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ChargingNotificationResponse", handler => EMPServerAPI.OnChargingNotificationsHTTPResponse += handler, handler => EMPServerAPI.OnChargingNotificationsHTTPResponse -= handler, "ChargingNotification", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Charge Detail Record RegisterEvent2("ChargeDetailRecordRequest", handler => EMPServerAPI.OnChargeDetailRecordHTTPRequest += handler, handler => EMPServerAPI.OnChargeDetailRecordHTTPRequest -= handler, "ChargeDetailRecord", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ChargeDetailRecordResponse", handler => EMPServerAPI.OnChargeDetailRecordHTTPResponse += handler, handler => EMPServerAPI.OnChargeDetailRecordHTTPResponse -= handler, "ChargeDetailRecord", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new CP client logger using the given logging delegates. /// </summary> /// <param name="CPClient">A OCPP CP client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CPClientLogger(ICPClient CPClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(CPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { #region Initial checks this.CPClient = CPClient ?? throw new ArgumentNullException(nameof(CPClient), "The given EMP client must not be null!"); #endregion //#region GetChargePointList //RegisterEvent("GetChargePointListRequest", // handler => CPClient.OnGetChargePointListSOAPRequest += handler, // handler => CPClient.OnGetChargePointListSOAPRequest -= handler, // "GetChargePointList", "OCPP", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("GetChargePointListResponse", // handler => CPClient.OnGetChargePointListSOAPResponse += handler, // handler => CPClient.OnGetChargePointListSOAPResponse -= handler, // "GetChargePointList", "OCPP", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion }
/// <summary> /// Create a new OICP EMP server logger using the given logging delegates. /// </summary> /// <param name="EMPServer">A OICP EMP server.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public EMPServerLogger(EMPSOAPServer EMPServer, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMPServer?.SOAPServer.HTTPServer, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.EMPServer = EMPServer ?? throw new ArgumentNullException(nameof(EMPServer), "The given EMP server must not be null!"); #endregion #region Register log events // AuthorizeStart/-Stop RegisterEvent("AuthorizeStartRequest", handler => EMPServer.OnAuthorizeStartSOAPRequest += handler, handler => EMPServer.OnAuthorizeStartSOAPRequest -= handler, "AuthorizeStart", "Authorize", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStartResponse", handler => EMPServer.OnAuthorizeStartSOAPResponse += handler, handler => EMPServer.OnAuthorizeStartSOAPResponse -= handler, "AuthorizeStart", "Authorize", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopRequest", handler => EMPServer.OnAuthorizeStopSOAPRequest += handler, handler => EMPServer.OnAuthorizeStopSOAPRequest -= handler, "AuthorizeStop", "Authorize", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopResponse", handler => EMPServer.OnAuthorizeStopSOAPResponse += handler, handler => EMPServer.OnAuthorizeStopSOAPResponse -= handler, "AuthorizeStop", "Authorize", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); // ChargeDetailRecord RegisterEvent("ChargeDetailRecordRequest", handler => EMPServer.OnChargeDetailRecordSOAPRequest += handler, handler => EMPServer.OnChargeDetailRecordSOAPRequest -= handler, "ChargeDetailRecord", "CDR", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargeDetailRecordResponse", handler => EMPServer.OnChargeDetailRecordSOAPResponse += handler, handler => EMPServer.OnChargeDetailRecordSOAPResponse -= handler, "ChargeDetailRecord", "CDR", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new OICP Central server logger using the given logging delegates. /// </summary> /// <param name="CentralServer">A OICP Central server.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CentralServerLogger(CentralServer CentralServer, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CentralServer.SOAPServer.HTTPServer, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks if (CentralServer == null) { throw new ArgumentNullException(nameof(CentralServer), "The given Central server must not be null!"); } #endregion this.CentralServer = CentralServer; #region Register remote start/stop log events RegisterEvent("RemoteReservationStart", handler => CentralServer.OnAuthorizeRemoteReservationStartSOAPRequest += handler, handler => CentralServer.OnAuthorizeRemoteReservationStartSOAPRequest -= handler, "Reservation", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteReservationStarted", handler => CentralServer.OnAuthorizeRemoteReservationStartSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteReservationStartSOAPResponse -= handler, "Reservation", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteReservationStop", handler => CentralServer.OnAuthorizeRemoteReservationStopSOAPRequest += handler, handler => CentralServer.OnAuthorizeRemoteReservationStopSOAPRequest -= handler, "Reservation", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteReservationStopped", handler => CentralServer.OnAuthorizeRemoteReservationStopSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteReservationStopSOAPResponse -= handler, "Reservation", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteStart", handler => CentralServer.OnAuthorizeRemoteStartSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteStartSOAPResponse -= handler, "Remote", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteStarted", handler => CentralServer.OnAuthorizeRemoteStartSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteStartSOAPResponse -= handler, "Remote", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteStop", handler => CentralServer.OnAuthorizeRemoteStopSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteStopSOAPResponse -= handler, "Remote", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RemoteStopped", handler => CentralServer.OnAuthorizeRemoteStopSOAPResponse += handler, handler => CentralServer.OnAuthorizeRemoteStopSOAPResponse -= handler, "Remote", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new eMIP CPO server logger using the given logging delegates. /// </summary> /// <param name="CPOServer">A eMIP CPO server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CPOServerLogger(CPOServer CPOServer, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOServer.SOAPServer.HTTPServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.CPOServer = CPOServer ?? throw new ArgumentNullException(nameof(CPOServer), "The given CPO server must not be null!"); #region Register SetServiceAuthorisation log events RegisterEvent("SetServiceAuthorisationRequest", handler => CPOServer.OnSetServiceAuthorisationSOAPRequest += handler, handler => CPOServer.OnSetServiceAuthorisationSOAPRequest -= handler, "SetServiceAuthorisation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetServiceAuthorisationResponse", handler => CPOServer.OnSetServiceAuthorisationSOAPResponse += handler, handler => CPOServer.OnSetServiceAuthorisationSOAPResponse -= handler, "SetServiceAuthorisation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Register SetSessionAction log events RegisterEvent("SetSessionActionRequest", handler => CPOServer.OnSetSessionActionSOAPRequest += handler, handler => CPOServer.OnSetSessionActionSOAPRequest -= handler, "SetSessionAction", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionActionResponse", handler => CPOServer.OnSetSessionActionSOAPResponse += handler, handler => CPOServer.OnSetSessionActionSOAPResponse -= handler, "SetSessionAction", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new CPO client logger using the given logging delegates. /// </summary> /// <param name="CPOClient">A CPO client.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(CPOClient CPOClient, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.CPOClient = CPOClient ?? throw new ArgumentNullException(nameof(CPOClient), "The given CPO client must not be null!"); #region Register log events //RegisterEvent("SendHeartbeatRequest", // handler => CPOClient.OnSendHeartbeatSOAPRequest += handler, // handler => CPOClient.OnSendHeartbeatSOAPRequest -= handler, // "SendHeartbeat", "Heartbeat", "requests", "all"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("SendHeartbeatResponse", // handler => CPOClient.OnSendHeartbeatSOAPResponse += handler, // handler => CPOClient.OnSendHeartbeatSOAPResponse -= handler, // "SendHeartbeat", "Heartbeat", "Response", "all"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new eMIP EMP client logger using the given logging delegates. /// </summary> /// <param name="EMPClient">A eMIP EMP client.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(IEMPClient EMPClient, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMPClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.EMPClient = EMPClient ?? throw new ArgumentNullException(nameof(EMPClient), "The given EMP client must not be null!"); #endregion #region Register log events RegisterEvent("SendHeartbeatRequest", handler => EMPClient.OnSendHeartbeatSOAPRequest += handler, handler => EMPClient.OnSendHeartbeatSOAPRequest -= handler, "SendHeartbeat", "Heartbeat", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SendHeartbeatResponse", handler => EMPClient.OnSendHeartbeatSOAPResponse += handler, handler => EMPClient.OnSendHeartbeatSOAPResponse -= handler, "SendHeartbeat", "Heartbeat", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetServiceAuthorisationRequest", handler => EMPClient.OnSetServiceAuthorisationSOAPRequest += handler, handler => EMPClient.OnSetServiceAuthorisationSOAPRequest -= handler, "SetServiceAuthorisation", "ServiceAuthorisation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetServiceAuthorisationResponse", handler => EMPClient.OnSetServiceAuthorisationSOAPResponse += handler, handler => EMPClient.OnSetServiceAuthorisationSOAPResponse -= handler, "SetServiceAuthorisation", "ServiceAuthorisation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionActionRequest", handler => EMPClient.OnSetSessionActionSOAPRequest += handler, handler => EMPClient.OnSetSessionActionSOAPRequest -= handler, "SetSessionAction", "SessionAction", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionActionResponse", handler => EMPClient.OnSetSessionActionSOAPResponse += handler, handler => EMPClient.OnSetSessionActionSOAPResponse -= handler, "SetSessionAction", "SessionAction", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new WWCP HTTP API logger using the given logging delegates. /// </summary> /// <param name="OpenChargingCloudAPI">A WWCP API.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public OpenChargingCloudAPILogger(OpenChargingCloudAPI OpenChargingCloudAPI, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(OpenChargingCloudAPI.HTTPServer,//.InternalHTTPServer, Context, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks if (OpenChargingCloudAPI == null) { throw new ArgumentNullException(nameof(OpenChargingCloudAPI), "The given WWCP HTTP API must not be null!"); } #endregion this.OpenChargingCloudAPI = OpenChargingCloudAPI; #region EVSEs RegisterEvent2("GetEVSEsStatusRequest", handler => OpenChargingCloudAPI.OnGetEVSEsStatusRequest += handler, handler => OpenChargingCloudAPI.OnGetEVSEsStatusRequest -= handler, "EVSEStatus", "EVSE", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); //RegisterEvent2("GetEVSEsStatusResponse", // handler => OpenChargingCloudAPI.OnGetEVSEsStatusResponse += handler, // handler => OpenChargingCloudAPI.OnGetEVSEsStatusResponse -= handler, // "EVSEStatus", "EVSE", "Status", "Response", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); #endregion #region Register auth start/stop log events RegisterEvent2("AuthEVSEStart", handler => OpenChargingCloudAPI.OnAuthStartEVSERequest += handler, handler => OpenChargingCloudAPI.OnAuthStartEVSERequest -= handler, "Auth", "AuthEVSE", "AuthStart", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthEVSEStarted", handler => OpenChargingCloudAPI.OnAuthStartEVSEResponse += handler, handler => OpenChargingCloudAPI.OnAuthStartEVSEResponse -= handler, "Auth", "AuthEVSE", "AuthStarted", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthEVSEStop", handler => OpenChargingCloudAPI.OnAuthStopEVSERequest += handler, handler => OpenChargingCloudAPI.OnAuthStopEVSERequest -= handler, "Auth", "AuthEVSE", "AuthStop", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AuthEVSEStopped", handler => OpenChargingCloudAPI.OnAuthStopEVSEResponse += handler, handler => OpenChargingCloudAPI.OnAuthStopEVSEResponse -= handler, "Auth", "AuthEVSE", "AuthStopped", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Register remote start/stop log events RegisterEvent2("RemoteEVSEStart", handler => OpenChargingCloudAPI.OnSendRemoteStartEVSERequest += handler, handler => OpenChargingCloudAPI.OnSendRemoteStartEVSERequest -= handler, "Remote", "RemoteEVSE", "RemoteStart", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("RemoteEVSEStarted", handler => OpenChargingCloudAPI.OnSendRemoteStartEVSEResponse += handler, handler => OpenChargingCloudAPI.OnSendRemoteStartEVSEResponse -= handler, "Remote", "RemoteEVSE", "RemoteStarted", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("RemoteEVSEStop", handler => OpenChargingCloudAPI.OnSendRemoteStopEVSERequest += handler, handler => OpenChargingCloudAPI.OnSendRemoteStopEVSERequest -= handler, "Remote", "RemoteEVSE", "RemoteStop", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("RemoteEVSEStopped", handler => OpenChargingCloudAPI.OnSendRemoteStopEVSEResponse += handler, handler => OpenChargingCloudAPI.OnSendRemoteStopEVSEResponse -= handler, "Remote", "RemoteEVSE", "RemoteStopped", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Register CDR log events RegisterEvent2("SendCDR", handler => OpenChargingCloudAPI.OnSendCDRsRequest += handler, handler => OpenChargingCloudAPI.OnSendCDRsRequest -= handler, "CDR", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("CDRSent", handler => OpenChargingCloudAPI.OnSendCDRsResponse += handler, handler => OpenChargingCloudAPI.OnSendCDRsResponse -= handler, "CDR", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new EMP client logger using the given logging delegates. /// </summary> /// <param name="EMPClient">A EMP client.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(EMPClient EMPClient, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMPClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.EMPClient = EMPClient ?? throw new ArgumentNullException(nameof(EMPClient), "The given EMP client must not be null!"); #region PullEVSEData/Status RegisterEvent("PullEVSEDataHTTPRequest", handler => EMPClient.OnPullEVSEDataHTTPRequest += handler, handler => EMPClient.OnPullEVSEDataHTTPRequest -= handler, "PullEVSEData", "pull", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEDataHTTPResponse", handler => EMPClient.OnPullEVSEDataHTTPResponse += handler, handler => EMPClient.OnPullEVSEDataHTTPResponse -= handler, "PullEVSEData", "pull", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusHTTPRequest", handler => EMPClient.OnPullEVSEStatusHTTPRequest += handler, handler => EMPClient.OnPullEVSEStatusHTTPRequest -= handler, "PullEVSEStatus", "pull", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusHTTPResponse", handler => EMPClient.OnPullEVSEStatusHTTPResponse += handler, handler => EMPClient.OnPullEVSEStatusHTTPResponse -= handler, "PullEVSEStatus", "pull", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByIdHTTPRequest", handler => EMPClient.OnPullEVSEStatusByIdHTTPRequest += handler, handler => EMPClient.OnPullEVSEStatusByIdHTTPRequest -= handler, "PullEVSEStatusById", "pull", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByIdHTTPResponse", handler => EMPClient.OnPullEVSEStatusByIdHTTPResponse += handler, handler => EMPClient.OnPullEVSEStatusByIdHTTPResponse -= handler, "PullEVSEStatusById", "pull", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByOperatorIdHTTPRequest", handler => EMPClient.OnPullEVSEStatusByOperatorIdHTTPRequest += handler, handler => EMPClient.OnPullEVSEStatusByOperatorIdHTTPRequest -= handler, "PullEVSEStatusByOperatorId", "pull", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PullEVSEStatusByOperatorIdHTTPResponse", handler => EMPClient.OnPullEVSEStatusByOperatorIdHTTPResponse += handler, handler => EMPClient.OnPullEVSEStatusByOperatorIdHTTPResponse -= handler, "PullEVSEStatusByOperatorId", "pull", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region PushAuthenticationData //RegisterEvent("PushAuthenticationDataRequest", // handler => EMPClient.OnPushAuthenticationDataHTTPRequest += handler, // handler => EMPClient.OnPushAuthenticationDataHTTPRequest -= handler, // "PushAuthenticationData", "requests", "all"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("PushAuthenticationDataResponse", // handler => EMPClient.OnPushAuthenticationDataHTTPResponse += handler, // handler => EMPClient.OnPushAuthenticationDataHTTPResponse -= handler, // "PushAuthenticationData", "responses", "all"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); #endregion #region AuthorizeRemoteReservationStart/Stop RegisterEvent("AuthorizeRemoteReservationStartRequest", handler => EMPClient.OnAuthorizeRemoteReservationStartHTTPRequest += handler, handler => EMPClient.OnAuthorizeRemoteReservationStartHTTPRequest -= handler, "AuthorizeRemoteReservationStart", "AuthorizeRemoteReservation", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteReservationStartResponse", handler => EMPClient.OnAuthorizeRemoteReservationStartHTTPResponse += handler, handler => EMPClient.OnAuthorizeRemoteReservationStartHTTPResponse -= handler, "AuthorizeRemoteReservationStart", "AuthorizeRemoteReservation", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteReservationStopRequest", handler => EMPClient.OnAuthorizeRemoteReservationStopHTTPRequest += handler, handler => EMPClient.OnAuthorizeRemoteReservationStopHTTPRequest -= handler, "AuthorizeRemoteReservationStop", "AuthorizeRemoteReservation", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteReservationStopResponse", handler => EMPClient.OnAuthorizeRemoteReservationStopHTTPResponse += handler, handler => EMPClient.OnAuthorizeRemoteReservationStopHTTPResponse -= handler, "AuthorizeRemoteReservationStop", "AuthorizeRemoteReservation", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region AuthorizeRemoteStart/Stop RegisterEvent("AuthorizeRemoteStartRequest", handler => EMPClient.OnAuthorizeRemoteStartHTTPRequest += handler, handler => EMPClient.OnAuthorizeRemoteStartHTTPRequest -= handler, "AuthorizeRemoteStart", "AuthorizeRemote", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStartResponse", handler => EMPClient.OnAuthorizeRemoteStartHTTPResponse += handler, handler => EMPClient.OnAuthorizeRemoteStartHTTPResponse -= handler, "AuthorizeRemoteStart", "AuthorizeRemote", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStopRequest", handler => EMPClient.OnAuthorizeRemoteStopHTTPRequest += handler, handler => EMPClient.OnAuthorizeRemoteStopHTTPRequest -= handler, "AuthorizeRemoteStop", "AuthorizeRemote", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeRemoteStopResponse", handler => EMPClient.OnAuthorizeRemoteStopHTTPResponse += handler, handler => EMPClient.OnAuthorizeRemoteStopHTTPResponse -= handler, "AuthorizeRemoteStop", "AuthorizeRemote", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region GetChargeDetailRecords RegisterEvent("GetChargeDetailRecordsRequest", handler => EMPClient.OnGetChargeDetailRecordsHTTPRequest += handler, handler => EMPClient.OnGetChargeDetailRecordsHTTPRequest -= handler, "GetChargeDetailRecords", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetChargeDetailRecordsResponse", handler => EMPClient.OnGetChargeDetailRecordsHTTPResponse += handler, handler => EMPClient.OnGetChargeDetailRecordsHTTPResponse -= handler, "GetChargeDetailRecords", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new CPO client logger using the given logging delegates. /// </summary> /// <param name="CPOClient">A CPO client.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(CPOClient CPOClient, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.CPOClient = CPOClient ?? throw new ArgumentNullException(nameof(CPOClient), "The given CPO client must not be null!"); #region PushEVSEData/Status RegisterEvent("PushEVSEDataHTTPRequest", handler => CPOClient.OnPushEVSEDataHTTPRequest += handler, handler => CPOClient.OnPushEVSEDataHTTPRequest -= handler, "PushEVSEData", "push", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEDataHTTPResponse", handler => CPOClient.OnPushEVSEDataHTTPResponse += handler, handler => CPOClient.OnPushEVSEDataHTTPResponse -= handler, "PushEVSEData", "push", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEStatusHTTPRequest", handler => CPOClient.OnPushEVSEStatusHTTPRequest += handler, handler => CPOClient.OnPushEVSEStatusHTTPRequest -= handler, "PushEVSEStatus", "push", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PushEVSEStatusHTTPResponse", handler => CPOClient.OnPushEVSEStatusHTTPResponse += handler, handler => CPOClient.OnPushEVSEStatusHTTPResponse -= handler, "PushEVSEStatus", "push", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region AuthorizeStart/Stop RegisterEvent("AuthorizeStartHTTPRequest", handler => CPOClient.OnAuthorizeStartHTTPRequest += handler, handler => CPOClient.OnAuthorizeStartHTTPRequest -= handler, "authorizeStart", "authorize", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStartHTTPResponse", handler => CPOClient.OnAuthorizeStartHTTPResponse += handler, handler => CPOClient.OnAuthorizeStartHTTPResponse -= handler, "authorizeStart", "authorize", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopHTTPRequest", handler => CPOClient.OnAuthorizeStopHTTPRequest += handler, handler => CPOClient.OnAuthorizeStopHTTPRequest -= handler, "authorizeStop", "authorize", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("AuthorizeStopHTTPResponse", handler => CPOClient.OnAuthorizeStopHTTPResponse += handler, handler => CPOClient.OnAuthorizeStopHTTPResponse -= handler, "authorizeStop", "authorize", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region ChargingNotifications RegisterEvent("ChargingStartNotificationHTTPRequest", handler => CPOClient.OnChargingStartNotificationHTTPRequest += handler, handler => CPOClient.OnChargingStartNotificationHTTPRequest -= handler, "chargingStartNotification", "chargingNotifications", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingStartNotificationHTTPResponse", handler => CPOClient.OnChargingStartNotificationHTTPResponse += handler, handler => CPOClient.OnChargingStartNotificationHTTPResponse -= handler, "chargingStartNotification", "chargingNotifications", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingProgressNotificationHTTPRequest", handler => CPOClient.OnChargingProgressNotificationHTTPRequest += handler, handler => CPOClient.OnChargingProgressNotificationHTTPRequest -= handler, "chargingProgressNotification", "chargingNotifications", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingProgressNotificationHTTPResponse", handler => CPOClient.OnChargingProgressNotificationHTTPResponse += handler, handler => CPOClient.OnChargingProgressNotificationHTTPResponse -= handler, "chargingProgressNotification", "chargingNotifications", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingEndNotificationHTTPRequest", handler => CPOClient.OnChargingEndNotificationHTTPRequest += handler, handler => CPOClient.OnChargingEndNotificationHTTPRequest -= handler, "chargingEndNotification", "chargingNotifications", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingEndNotificationHTTPResponse", handler => CPOClient.OnChargingEndNotificationHTTPResponse += handler, handler => CPOClient.OnChargingEndNotificationHTTPResponse -= handler, "chargingEndNotification", "chargingNotifications", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingErrorNotificationHTTPRequest", handler => CPOClient.OnChargingErrorNotificationHTTPRequest += handler, handler => CPOClient.OnChargingErrorNotificationHTTPRequest -= handler, "authorizeStop", "chargingNotifications", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ChargingErrorNotificationHTTPResponse", handler => CPOClient.OnChargingErrorNotificationHTTPResponse += handler, handler => CPOClient.OnChargingErrorNotificationHTTPResponse -= handler, "chargingErrorNotification", "chargingNotifications", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region SendChargeDetailRecord RegisterEvent("SendChargeDetailRecordHTTPRequest", handler => CPOClient.OnSendChargeDetailRecordHTTPRequest += handler, handler => CPOClient.OnSendChargeDetailRecordHTTPRequest -= handler, "sendChargeDetailRecord", "cdr", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SendChargeDetailRecordHTTPResponse", handler => CPOClient.OnSendChargeDetailRecordHTTPResponse += handler, handler => CPOClient.OnSendChargeDetailRecordHTTPResponse -= handler, "sendChargeDetailRecord", "cdr", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new common client logger using the given logging delegates. /// </summary> /// <param name="CommonClient">A common client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(CommonClient CommonClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CommonClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.CommonClient = CommonClient ?? throw new ArgumentNullException(nameof(CommonClient), "The given common client must not be null!"); #region Versions RegisterEvent("GetVersionsRequest", handler => CommonClient.OnGetVersionsHTTPRequest += handler, handler => CommonClient.OnGetVersionsHTTPRequest -= handler, "GetVersions", "versions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetVersionsResponse", handler => CommonClient.OnGetVersionsHTTPResponse += handler, handler => CommonClient.OnGetVersionsHTTPResponse -= handler, "GetVersions", "versions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetVersionDetailsRequest", handler => CommonClient.OnGetVersionDetailsHTTPRequest += handler, handler => CommonClient.OnGetVersionDetailsHTTPRequest -= handler, "GetVersionDetails", "versions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetVersionDetailsResponse", handler => CommonClient.OnGetVersionDetailsHTTPRequest += handler, handler => CommonClient.OnGetVersionDetailsHTTPRequest -= handler, "GetVersionDetails", "versions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Credentials RegisterEvent("GetCredentialsRequest", handler => CommonClient.OnGetCredentialsHTTPRequest += handler, handler => CommonClient.OnGetCredentialsHTTPRequest -= handler, "GetCredentials", "credentials", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCredentialsResponse", handler => CommonClient.OnGetCredentialsHTTPResponse += handler, handler => CommonClient.OnGetCredentialsHTTPResponse -= handler, "GetCredentials", "credentials", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostCredentialsRequest", handler => CommonClient.OnPostCredentialsHTTPRequest += handler, handler => CommonClient.OnPostCredentialsHTTPRequest -= handler, "PostCredentials", "credentials", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostCredentialsResponse", handler => CommonClient.OnPostCredentialsHTTPResponse += handler, handler => CommonClient.OnPostCredentialsHTTPResponse -= handler, "PostCredentials", "credentials", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutCredentialsRequest", handler => CommonClient.OnPutCredentialsHTTPRequest += handler, handler => CommonClient.OnPutCredentialsHTTPRequest -= handler, "PutCredentials", "credentials", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutCredentialsResponse", handler => CommonClient.OnPutCredentialsHTTPResponse += handler, handler => CommonClient.OnPutCredentialsHTTPResponse -= handler, "PutCredentials", "credentials", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCredentialsRequest", handler => CommonClient.OnDeleteCredentialsHTTPRequest += handler, handler => CommonClient.OnDeleteCredentialsHTTPRequest -= handler, "DeleteCredentials", "credentials", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCredentialsResponse", handler => CommonClient.OnDeleteCredentialsHTTPResponse += handler, handler => CommonClient.OnDeleteCredentialsHTTPResponse -= handler, "DeleteCredentials", "credentials", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RegisterRequest", handler => CommonClient.OnRegisterHTTPRequest += handler, handler => CommonClient.OnRegisterHTTPRequest -= handler, "Register", "credentials", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("RegisterResponse", handler => CommonClient.OnRegisterHTTPResponse += handler, handler => CommonClient.OnRegisterHTTPResponse -= handler, "Register", "credentials", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new EMSP client logger using the given logging delegates. /// </summary> /// <param name="EMSPClient">A EMSP client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(EMSPClient EMSPClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMSPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.EMSPClient = EMSPClient ?? throw new ArgumentNullException(nameof(EMSPClient), "The given EMSP client must not be null!"); #region Locations RegisterEvent("GetLocationsRequest", handler => EMSPClient.OnGetLocationsHTTPRequest += handler, handler => EMSPClient.OnGetLocationsHTTPRequest -= handler, "GetLocations", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationsResponse", handler => EMSPClient.OnGetLocationsHTTPResponse += handler, handler => EMSPClient.OnGetLocationsHTTPResponse -= handler, "GetLocations", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationByIdRequest", handler => EMSPClient.OnGetLocationByIdHTTPRequest += handler, handler => EMSPClient.OnGetLocationByIdHTTPRequest -= handler, "GetLocationById", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationByIdResponse", handler => EMSPClient.OnGetLocationByIdHTTPResponse += handler, handler => EMSPClient.OnGetLocationByIdHTTPResponse -= handler, "GetLocationById", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetEVSEByUIdRequest", handler => EMSPClient.OnGetEVSEByUIdHTTPRequest += handler, handler => EMSPClient.OnGetEVSEByUIdHTTPRequest -= handler, "GetEVSEByUId", "EVSEs", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetEVSEByUIdResponse", handler => EMSPClient.OnGetEVSEByUIdHTTPResponse += handler, handler => EMSPClient.OnGetEVSEByUIdHTTPResponse -= handler, "GetEVSEByUId", "EVSEs", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetConnectorByIdRequest", handler => EMSPClient.OnGetConnectorByIdHTTPRequest += handler, handler => EMSPClient.OnGetConnectorByIdHTTPRequest -= handler, "GetConnectorById", "connectors", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetConnectorByIdResponse", handler => EMSPClient.OnGetConnectorByIdHTTPResponse += handler, handler => EMSPClient.OnGetConnectorByIdHTTPResponse -= handler, "GetConnectorById", "connectors", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tariffs RegisterEvent("GetTariffsRequest", handler => EMSPClient.OnGetTariffsHTTPRequest += handler, handler => EMSPClient.OnGetTariffsHTTPRequest -= handler, "GetTariffs", "tariffs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffsResponse", handler => EMSPClient.OnGetTariffsHTTPResponse += handler, handler => EMSPClient.OnGetTariffsHTTPResponse -= handler, "GetTariffs", "tariffs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffByIdRequest", handler => EMSPClient.OnGetTariffByIdHTTPRequest += handler, handler => EMSPClient.OnGetTariffByIdHTTPRequest -= handler, "GetTariffById", "tariffs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffByIdResponse", handler => EMSPClient.OnGetTariffByIdHTTPResponse += handler, handler => EMSPClient.OnGetTariffByIdHTTPResponse -= handler, "GetTariffById", "tariffs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Sessions RegisterEvent("GetSessionsRequest", handler => EMSPClient.OnGetSessionsHTTPRequest += handler, handler => EMSPClient.OnGetSessionsHTTPRequest -= handler, "GetSessions", "sessions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionsResponse", handler => EMSPClient.OnGetSessionsHTTPResponse += handler, handler => EMSPClient.OnGetSessionsHTTPResponse -= handler, "GetSessions", "sessions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionByIdRequest", handler => EMSPClient.OnGetSessionByIdHTTPRequest += handler, handler => EMSPClient.OnGetSessionByIdHTTPRequest -= handler, "GetSessionById", "sessions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionByIdResponse", handler => EMSPClient.OnGetSessionByIdHTTPResponse += handler, handler => EMSPClient.OnGetSessionByIdHTTPResponse -= handler, "GetSessionById", "sessions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region CDRs RegisterEvent("GetCDRsRequest", handler => EMSPClient.OnGetCDRsHTTPRequest += handler, handler => EMSPClient.OnGetCDRsHTTPRequest -= handler, "GetCDRs", "CDRs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRsResponse", handler => EMSPClient.OnGetCDRsHTTPResponse += handler, handler => EMSPClient.OnGetCDRsHTTPResponse -= handler, "GetCDRs", "CDRs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRByIdRequest", handler => EMSPClient.OnGetCDRByIdHTTPRequest += handler, handler => EMSPClient.OnGetCDRByIdHTTPRequest -= handler, "GetCDRById", "CDRs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRByIdResponse", handler => EMSPClient.OnGetCDRByIdHTTPResponse += handler, handler => EMSPClient.OnGetCDRByIdHTTPResponse -= handler, "GetCDRById", "CDRs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tokens RegisterEvent("GetTokenRequest", handler => EMSPClient.OnGetTokenHTTPRequest += handler, handler => EMSPClient.OnGetTokenHTTPRequest -= handler, "GetToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTokenResponse", handler => EMSPClient.OnGetTokenHTTPResponse += handler, handler => EMSPClient.OnGetTokenHTTPResponse -= handler, "GetToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutTokenRequest", handler => EMSPClient.OnPutTokenHTTPRequest += handler, handler => EMSPClient.OnPutTokenHTTPRequest -= handler, "PutToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutTokenResponse", handler => EMSPClient.OnPutTokenHTTPResponse += handler, handler => EMSPClient.OnPutTokenHTTPResponse -= handler, "PutToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchTokenRequest", handler => EMSPClient.OnPatchTokenHTTPRequest += handler, handler => EMSPClient.OnPatchTokenHTTPRequest -= handler, "PatchToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchTokenResponse", handler => EMSPClient.OnPatchTokenHTTPResponse += handler, handler => EMSPClient.OnPatchTokenHTTPResponse -= handler, "PatchToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Commands RegisterEvent("ReserveNowRequest", handler => EMSPClient.OnReserveNowHTTPRequest += handler, handler => EMSPClient.OnReserveNowHTTPRequest -= handler, "ReserveNow", "reservations", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReserveNowResponse", handler => EMSPClient.OnReserveNowHTTPResponse += handler, handler => EMSPClient.OnReserveNowHTTPResponse -= handler, "ReserveNow", "reservations", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationRequest", handler => EMSPClient.OnCancelReservationHTTPRequest += handler, handler => EMSPClient.OnCancelReservationHTTPRequest -= handler, "CancelReservation", "reservations", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationResponse", handler => EMSPClient.OnCancelReservationHTTPResponse += handler, handler => EMSPClient.OnCancelReservationHTTPResponse -= handler, "CancelReservation", "reservations", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionRequest", handler => EMSPClient.OnStartSessionHTTPRequest += handler, handler => EMSPClient.OnStartSessionHTTPRequest -= handler, "StartSession", "StartStopSessions", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionResponse", handler => EMSPClient.OnStartSessionHTTPResponse += handler, handler => EMSPClient.OnStartSessionHTTPResponse -= handler, "StartSession", "StartStopSessions", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionRequest", handler => EMSPClient.OnStopSessionHTTPRequest += handler, handler => EMSPClient.OnStopSessionHTTPRequest -= handler, "StopSession", "StopStopSessions", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionResponse", handler => EMSPClient.OnStopSessionHTTPResponse += handler, handler => EMSPClient.OnStopSessionHTTPResponse -= handler, "StopSession", "StopStopSessions", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorRequest", handler => EMSPClient.OnUnlockConnectorHTTPRequest += handler, handler => EMSPClient.OnUnlockConnectorHTTPRequest -= handler, "UnlockConnector", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorResponse", handler => EMSPClient.OnUnlockConnectorHTTPResponse += handler, handler => EMSPClient.OnUnlockConnectorHTTPResponse -= handler, "UnlockConnector", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new central service SOAP server logger using the given logging delegates. /// </summary> /// <param name="CSServer">A OCPP central service SOAP server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CSServerLogger(CentralSystemSOAPServer CSServer, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(CSServer.SOAPServer.HTTPServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { #region Initial checks if (CSServer == null) { throw new ArgumentNullException(nameof(CSServer), "The given CS server must not be null!"); } this.CSServer = CSServer; #endregion //#region SelectEVSE //RegisterEvent("SelectEVSERequest", // handler => CSServer.OnSelectEVSESOAPRequest += handler, // handler => CSServer.OnSelectEVSESOAPRequest -= handler, // "SelectEVSE", "OCPPdirect", "Requests", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //RegisterEvent("SelectEVSEResponse", // handler => CSServer.OnSelectEVSESOAPResponse += handler, // handler => CSServer.OnSelectEVSESOAPResponse -= handler, // "SelectEVSE", "OCPPdirect", "Responses", "All"). // RegisterDefaultConsoleLogTarget(this). // RegisterDefaultDiscLogTarget(this); //#endregion }
/// <summary> /// Create a new HTTP API logger using the given logging delegates. /// </summary> /// <param name="HTTPAPI">A HTTP API.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public HTTPLogger(HTTPServer HTTPAPI, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, Func<String, String, String> LogFileCreator = null) : this(Context, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { #region Initial checks if (HTTPAPI == null) throw new ArgumentNullException(nameof(HTTPAPI), "The given HTTP API must not be null!"); this._HTTPAPI = HTTPAPI; #endregion //ToDo: Evaluate Logging targets! HTTPAPI.ErrorLog += (Timestamp, HTTPServer, HTTPRequest, HTTPResponse, Error, LastException) => { DebugX.Log(Timestamp + " - " + HTTPRequest.RemoteSocket.IPAddress + ":" + HTTPRequest.RemoteSocket.Port + " " + HTTPRequest.HTTPMethod + " " + HTTPRequest.URI + " " + HTTPRequest.ProtocolVersion + " => " + HTTPResponse.HTTPStatusCode + " - " + Error); }; }
/// <summary> /// Create a new eMIP CPO client logger using the given logging delegates. /// </summary> /// <param name="CPOClient">An eMIP CPO client.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(ICPOClient CPOClient, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { #region Initial checks this.CPOClient = CPOClient ?? throw new ArgumentNullException(nameof(CPOClient), "The given CPO client must not be null!"); #endregion #region Register log events RegisterEvent("SendHeartbeatRequest", handler => CPOClient.OnSendHeartbeatSOAPRequest += handler, handler => CPOClient.OnSendHeartbeatSOAPRequest -= handler, "SendHeartbeat", "Heartbeat", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SendHeartbeatResponse", handler => CPOClient.OnSendHeartbeatSOAPResponse += handler, handler => CPOClient.OnSendHeartbeatSOAPResponse -= handler, "SendHeartbeat", "Heartbeat", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingPoolAvailabilityStatusRequest", handler => CPOClient.OnSetChargingPoolAvailabilityStatusSOAPRequest += handler, handler => CPOClient.OnSetChargingPoolAvailabilityStatusSOAPRequest -= handler, "SetChargingPoolAvailabilityStatus", "SetChargingPoolStatus", "ChargingPool", "AvailabilityStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingPoolAvailabilityStatusResponse", handler => CPOClient.OnSetChargingPoolAvailabilityStatusSOAPResponse += handler, handler => CPOClient.OnSetChargingPoolAvailabilityStatusSOAPResponse -= handler, "SetChargingPoolAvailabilityStatus", "SetChargingPoolStatus", "ChargingPool", "AvailabilityStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingStationAvailabilityStatusRequest", handler => CPOClient.OnSetChargingStationAvailabilityStatusSOAPRequest += handler, handler => CPOClient.OnSetChargingStationAvailabilityStatusSOAPRequest -= handler, "SetChargingStationAvailabilityStatus", "SetChargingStationStatus", "ChargingStation", "AvailabilityStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingStationAvailabilityStatusResponse", handler => CPOClient.OnSetChargingStationAvailabilityStatusSOAPResponse += handler, handler => CPOClient.OnSetChargingStationAvailabilityStatusSOAPResponse -= handler, "SetChargingStationAvailabilityStatus", "SetChargingStationStatus", "ChargingStation", "AvailabilityStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSEAvailabilityStatusRequest", handler => CPOClient.OnSetEVSEAvailabilityStatusSOAPRequest += handler, handler => CPOClient.OnSetEVSEAvailabilityStatusSOAPRequest -= handler, "SetEVSEAvailabilityStatus", "SetEVSEStatus", "EVSE", "AvailabilityStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSEAvailabilityStatusResponse", handler => CPOClient.OnSetEVSEAvailabilityStatusSOAPResponse += handler, handler => CPOClient.OnSetEVSEAvailabilityStatusSOAPResponse -= handler, "SetEVSEAvailabilityStatus", "SetEVSEStatus", "EVSE", "AvailabilityStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingConnectorAvailabilityStatusRequest", handler => CPOClient.OnSetChargingConnectorAvailabilityStatusSOAPRequest += handler, handler => CPOClient.OnSetChargingConnectorAvailabilityStatusSOAPRequest -= handler, "SetChargingConnectorAvailabilityStatus", "SetChargingConnectorStatus", "ChargingConnector", "AvailabilityStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargingConnectorAvailabilityStatusResponse", handler => CPOClient.OnSetChargingConnectorAvailabilityStatusSOAPResponse += handler, handler => CPOClient.OnSetChargingConnectorAvailabilityStatusSOAPResponse -= handler, "SetChargingConnectorAvailabilityStatus", "SetChargingConnectorStatus", "ChargingConnector", "AvailabilityStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSEBusyStatusRequest", handler => CPOClient.OnSetEVSEBusyStatusSOAPRequest += handler, handler => CPOClient.OnSetEVSEBusyStatusSOAPRequest -= handler, "SetEVSEBusyStatus", "SetEVSEStatus", "EVSE", "BusyStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSEBusyStatusResponse", handler => CPOClient.OnSetEVSEBusyStatusSOAPResponse += handler, handler => CPOClient.OnSetEVSEBusyStatusSOAPResponse -= handler, "SetEVSEBusyStatus", "SetEVSEStatus", "EVSE", "BusyStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSESyntheticStatusRequest", handler => CPOClient.OnSetEVSESyntheticStatusSOAPRequest += handler, handler => CPOClient.OnSetEVSESyntheticStatusSOAPRequest -= handler, "SetEVSESyntheticStatus", "SetEVSEStatus", "EVSE", "SyntheticStatus", "Status", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetEVSESyntheticStatusResponse", handler => CPOClient.OnSetEVSESyntheticStatusSOAPResponse += handler, handler => CPOClient.OnSetEVSESyntheticStatusSOAPResponse -= handler, "SetEVSESyntheticStatus", "SetEVSEStatus", "EVSE", "SyntheticStatus", "Status", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetServiceAuthorisationRequest", handler => CPOClient.OnGetServiceAuthorisationSOAPRequest += handler, handler => CPOClient.OnGetServiceAuthorisationSOAPRequest -= handler, "GetServiceAuthorisation", "Authorisation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetServiceAuthorisationResponse", handler => CPOClient.OnGetServiceAuthorisationSOAPResponse += handler, handler => CPOClient.OnGetServiceAuthorisationSOAPResponse -= handler, "GetServiceAuthorisation", "Authorisation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionEventReportRequest", handler => CPOClient.OnSetSessionEventReportSOAPRequest += handler, handler => CPOClient.OnSetSessionEventReportSOAPRequest -= handler, "SetSessionEventReport", "Authorisation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionEventReportResponse", handler => CPOClient.OnSetSessionEventReportSOAPResponse += handler, handler => CPOClient.OnSetSessionEventReportSOAPResponse -= handler, "SetSessionEventReport", "Authorisation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargeDetailRecordRequest", handler => CPOClient.OnSetChargeDetailRecordSOAPRequest += handler, handler => CPOClient.OnSetChargeDetailRecordSOAPRequest -= handler, "SetChargeDetailRecord", "ChargeDetailRecord", "CDR", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetChargeDetailRecordResponse", handler => CPOClient.OnSetChargeDetailRecordSOAPResponse += handler, handler => CPOClient.OnSetChargeDetailRecordSOAPResponse -= handler, "SetChargeDetailRecord", "ChargeDetailRecord", "CDR", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Create a new HTTP API logger using the given logging delegates. /// </summary> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public HTTPLogger(String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, Func<String, String, String> LogFileCreator = null) { #region Init data structures this._Context = Context != null ? Context : ""; this._HTTPRequestLoggers = new ConcurrentDictionary<String, HTTPServerRequestLogger>(); this._HTTPResponseLoggers = new ConcurrentDictionary<String, HTTPServerResponseLogger>(); this._HTTPClientRequestLoggers = new ConcurrentDictionary<String, HTTPClientRequestLogger>(); this._HTTPClientResponseLoggers = new ConcurrentDictionary<String, HTTPClientResponseLogger>(); this._GroupTags = new ConcurrentDictionary<String, HashSet<String>>(); #endregion #region Set default delegates if (LogHTTPRequest_toConsole == null) LogHTTPRequest_toConsole = Default_LogHTTPRequest_toConsole; if (LogHTTPRequest_toDisc == null) LogHTTPRequest_toDisc = Default_LogHTTPRequest_toDisc; if (LogHTTPRequest_toDisc == null) LogHTTPRequest_toDisc = Default_LogHTTPRequest_toDisc; if (LogHTTPResponse_toConsole == null) LogHTTPResponse_toConsole = Default_LogHTTPResponse_toConsole; if (LogHTTPResponse_toDisc == null) LogHTTPResponse_toDisc = Default_LogHTTPResponse_toDisc; _LogFileCreator = LogFileCreator != null ? LogFileCreator : (context, logfilename) => String.Concat((context != null ? context + "_" : ""), logfilename, "_", DateTime.Now.Year, "-", DateTime.Now.Month.ToString("D2"), ".log"); #endregion }
/// <summary> /// Create a new UsersAPI logger using the given logging delegates. /// </summary> /// <param name="UsersAPI">A UsersAPI.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public UsersAPILogger(UsersAPI UsersAPI, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(UsersAPI.HTTPServer, LoggingPath, Context, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogFileCreator) { this.UsersAPI = UsersAPI ?? throw new ArgumentNullException(nameof(UsersAPI), "The given UsersAPI must not be null!"); #region Users RegisterEvent2("AddUserRequest", handler => UsersAPI.OnAddUserHTTPRequest += handler, handler => UsersAPI.OnAddUserHTTPRequest -= handler, "User", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AddUserResponse", handler => UsersAPI.OnAddUserHTTPResponse += handler, handler => UsersAPI.OnAddUserHTTPResponse -= handler, "User", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetUserRequest", handler => UsersAPI.OnSetUserHTTPRequest += handler, handler => UsersAPI.OnSetUserHTTPRequest -= handler, "User", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetUserResponse", handler => UsersAPI.OnSetUserHTTPResponse += handler, handler => UsersAPI.OnSetUserHTTPResponse -= handler, "User", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ChangePasswordRequest", handler => UsersAPI.OnChangePasswordRequest += handler, handler => UsersAPI.OnChangePasswordRequest -= handler, "User", "ChangePassword", "Password", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ChangePasswordResponse", handler => UsersAPI.OnChangePasswordResponse += handler, handler => UsersAPI.OnChangePasswordResponse -= handler, "User", "ChangePassword", "Password", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ImpersonateUserRequest", handler => UsersAPI.OnImpersonateUserRequest += handler, handler => UsersAPI.OnImpersonateUserRequest -= handler, "User", "Impersonate", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("ImpersonateUserResponse", handler => UsersAPI.OnImpersonateUserResponse += handler, handler => UsersAPI.OnImpersonateUserResponse -= handler, "User", "Impersonate", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetUserNotificationsRequest", handler => UsersAPI.OnSetUserNotificationsRequest += handler, handler => UsersAPI.OnSetUserNotificationsRequest -= handler, "SetUserNotifications", "Notifications", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetUserNotificationsResponse", handler => UsersAPI.OnSetUserNotificationsResponse += handler, handler => UsersAPI.OnSetUserNotificationsResponse -= handler, "SetUserNotifications", "Notifications", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteUserNotificationsRequest", handler => UsersAPI.OnDeleteUserNotificationsRequest += handler, handler => UsersAPI.OnDeleteUserNotificationsRequest -= handler, "DeleteUserNotifications", "Notifications", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteUserNotificationsResponse", handler => UsersAPI.OnDeleteUserNotificationsResponse += handler, handler => UsersAPI.OnDeleteUserNotificationsResponse -= handler, "DeleteUserNotifications", "Notifications", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Organizations RegisterEvent2("AddOrganizationRequest", handler => UsersAPI.OnAddOrganizationHTTPRequest += handler, handler => UsersAPI.OnAddOrganizationHTTPRequest -= handler, "Organization", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AddOrganizationResponse", handler => UsersAPI.OnAddOrganizationHTTPResponse += handler, handler => UsersAPI.OnAddOrganizationHTTPResponse -= handler, "Organization", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetOrganizationRequest", handler => UsersAPI.OnSetOrganizationHTTPRequest += handler, handler => UsersAPI.OnSetOrganizationHTTPRequest -= handler, "Organization", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetOrganizationResponse", handler => UsersAPI.OnSetOrganizationHTTPResponse += handler, handler => UsersAPI.OnSetOrganizationHTTPResponse -= handler, "Organization", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetOrganizationNotificationsRequest", handler => UsersAPI.OnSetOrganizationNotificationsRequest += handler, handler => UsersAPI.OnSetOrganizationNotificationsRequest -= handler, "SetOrganizationNotifications", "Organization", "Notifications", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetOrganizationNotificationsResponse", handler => UsersAPI.OnSetOrganizationNotificationsResponse += handler, handler => UsersAPI.OnSetOrganizationNotificationsResponse -= handler, "SetOrganizationNotifications", "Organization", "Notifications", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteOrganizationNotificationsRequest", handler => UsersAPI.OnDeleteOrganizationNotificationsRequest += handler, handler => UsersAPI.OnDeleteOrganizationNotificationsRequest -= handler, "DeleteOrganizationNotifications", "Organization", "Notifications", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteOrganizationNotificationsResponse", handler => UsersAPI.OnDeleteOrganizationNotificationsResponse += handler, handler => UsersAPI.OnDeleteOrganizationNotificationsResponse -= handler, "DeleteOrganizationNotifications", "Organization", "Notifications", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteOrganizationRequest", handler => UsersAPI.OnDeleteOrganizationHTTPRequest += handler, handler => UsersAPI.OnDeleteOrganizationHTTPRequest -= handler, "DeleteOrganizations", "Organization", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("DeleteOrganizationResponse", handler => UsersAPI.OnDeleteOrganizationHTTPResponse += handler, handler => UsersAPI.OnDeleteOrganizationHTTPResponse -= handler, "DeleteOrganizations", "Organization", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region ServiceTickets RegisterEvent2("AddServiceTicketRequest", handler => UsersAPI.OnAddServiceTicketRequest += handler, handler => UsersAPI.OnAddServiceTicketRequest -= handler, "ServiceTicket", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AddServiceTicketResponse", handler => UsersAPI.OnAddServiceTicketResponse += handler, handler => UsersAPI.OnAddServiceTicketResponse -= handler, "ServiceTicket", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetServiceTicketRequest", handler => UsersAPI.OnSetServiceTicketRequest += handler, handler => UsersAPI.OnSetServiceTicketRequest -= handler, "ServiceTicket", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("SetServiceTicketResponse", handler => UsersAPI.OnSetServiceTicketResponse += handler, handler => UsersAPI.OnSetServiceTicketResponse -= handler, "ServiceTicket", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AddServiceTicketCommentRequest", handler => UsersAPI.OnAddServiceTicketChangeSetRequest += handler, handler => UsersAPI.OnAddServiceTicketChangeSetRequest -= handler, "ServiceTicketComment", "ServiceTicket", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("AddServiceTicketCommentResponse", handler => UsersAPI.OnAddServiceTicketChangeSetResponse += handler, handler => UsersAPI.OnAddServiceTicketChangeSetResponse -= handler, "ServiceTicketComment", "ServiceTicket", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region API RegisterEvent2("RestartRequest", handler => UsersAPI.OnRestartHTTPRequest += handler, handler => UsersAPI.OnRestartHTTPRequest -= handler, "api", "restart", "request", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("RestartResponse", handler => UsersAPI.OnRestartHTTPResponse += handler, handler => UsersAPI.OnRestartHTTPResponse -= handler, "api", "restart", "response", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("StopRequest", handler => UsersAPI.OnStopHTTPRequest += handler, handler => UsersAPI.OnStopHTTPRequest -= handler, "api", "stop", "request", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent2("StopResponse", handler => UsersAPI.OnStopHTTPResponse += handler, handler => UsersAPI.OnStopHTTPResponse -= handler, "api", "stop", "response", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }
/// <summary> /// Register the given log target and delegate combination. /// </summary> /// <param name="LogTarget">A log target.</param> /// <param name="HTTPResponseDelegate">A delegate to call.</param> /// <returns>A HTTP response logger.</returns> public HTTPClientResponseLogger RegisterLogTarget(LogTargets LogTarget, HTTPResponseLoggerDelegate HTTPResponseDelegate) { #region Initial checks if (HTTPResponseDelegate == null) throw new ArgumentNullException(nameof(HTTPResponseDelegate), "The given delegate must not be null!"); #endregion if (_SubscriptionDelegates.ContainsKey(LogTarget)) throw new Exception("Duplicate log target!"); _SubscriptionDelegates.Add(LogTarget, async (Timestamp, HTTPAPI, Request, Response) => await HTTPResponseDelegate(_Context, _LogEventName, Request, Response)); return this; }