/// <summary> /// Create a new WWCP HTTP API logger using the default logging delegates. /// </summary> /// <param name="OpenChargingCloudAPI">A WWCP API.</param> /// <param name="Context">A context of this API.</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 = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(OpenChargingCloudAPI, Context, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <summary> /// Create a new EMSP API logger using the default logging delegates. /// </summary> /// <param name="EMSPAPI">An EMSP API.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public EMSPAPILogger(EMSPAPI EMSPAPI, String Context = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(EMSPAPI, Context, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new OICP EMP server logger using the default logging delegates. /// </summary> /// <param name="EMPServer">A OICP EMP server.</param> /// <param name="Context">A context of this API.</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 = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(EMPServer, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <summary> /// Create a new WWCP HTTP API logger using the default logging delegates. /// </summary> /// <param name="WWCPAPI">A WWCP API.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public WWCPLogger(WWCP_HTTPAPI WWCPAPI, String Context = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(WWCPAPI, Context, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <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 Common API logger using the default logging delegates. /// </summary> /// <param name="CommonAPI">An Common API.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CommonAPILogger(CommonAPI CommonAPI, String Context = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(CommonAPI, Context, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new CP client logger using the default logging delegates. /// </summary> /// <param name="CPClient">A OCPP CP client.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CPClientLogger(ChargePointSOAPClient CPClient, String Context = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(CPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new SMSAPI logger using the default logging delegates. /// </summary> /// <param name="SMSAPIClient">An SMSAPI client.</param> /// <param name="Context">A context of this API.</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 = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(SMSAPIClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new OICP Mobile client logger using the default logging delegates. /// </summary> /// <param name="MobileClient">A OICP Mobile client.</param> /// <param name="Context">A context of this API.</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 = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(MobileClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <summary> /// Create a new CS client logger using the default logging delegates. /// </summary> /// <param name="CSClient">A OCPP CS client.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CSClientLogger(CentralSystemSOAPClient CSClient, String Context = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(CSClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new EMP Server API logger using the default 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="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 = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(EMPServerAPI, LoggingPath, Context, null, null, null, null, LogFileCreator : LogFileCreator) { }
//public CustomMapperDelegate<Acknowledgement<PullAuthenticationDataRequest>, Acknowledgement<PullAuthenticationDataRequest>.Builder> CustomPullAuthenticationDataResponseMapper //{ // get // { // return CPOClient.CustomPullAuthenticationDataResponseMapper; // } // set // { // CPOClient.CustomPullAuthenticationDataResponseMapper = value; // } //} #endregion #endregion #region Constructor(s) #region CPORoaming(CPOClient, CPOServer, ServerLoggingContext = CPOServerLogger.DefaultContext, LogfileCreator = null) /// <summary> /// Create a new OICP roaming client for CPOs. /// </summary> /// <param name="CPOClient">A CPO client.</param> /// <param name="CPOServer">A CPO sever.</param> /// <param name="ServerLoggingContext">An optional context for logging server methods.</param> /// <param name="LogfileCreator">A delegate to create a log file from the given context and logfile name.</param> public CPORoaming(CPOClient CPOClient, CPOSOAPServer CPOServer, String ServerLoggingContext = CPOServerLogger.DefaultContext, LogfileCreatorDelegate LogfileCreator = null) { this.CPOClient = CPOClient ?? throw new ArgumentNullException(nameof(CPOClient), "The given CPOClient must not be null!"); this.CPOServer = CPOServer ?? throw new ArgumentNullException(nameof(CPOServer), "The given CPOServer must not be null!"); this.CPOServerLogger = new CPOServerLogger(CPOServer, ServerLoggingContext ?? CPOServerLogger.DefaultContext, LogfileCreator); // Link HTTP events... CPOServer.RequestLog += (HTTPProcessor, ServerTimestamp, Request) => RequestLog.WhenAll(HTTPProcessor, ServerTimestamp, Request); CPOServer.ResponseLog += (HTTPProcessor, ServerTimestamp, Request, Response) => ResponseLog.WhenAll(HTTPProcessor, ServerTimestamp, Request, Response); CPOServer.ErrorLog += (HTTPProcessor, ServerTimestamp, Request, Response, Error, LastException) => ErrorLog.WhenAll(HTTPProcessor, ServerTimestamp, Request, Response, Error, LastException); }
/// <summary> /// Create a new UsersAPI logger using the default 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="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 = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(UsersAPI, LoggingPath, Context, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new charge point SOAP server logger using the default logging delegates. /// </summary> /// <param name="CPServer">A OCPP charge point SOAP server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogFileCreator">A delegate to create a log file from the given context and log file name.</param> public CPServerLogger(ChargePointSOAPServer CPServer, String LoggingPath, String Context = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(CPServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new central service SOAP server logger using the default 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="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 = DefaultContext, LogfileCreatorDelegate LogFileCreator = null) : this(CSServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogFileCreator : LogFileCreator) { }
/// <summary> /// Create a new eMIP CPO client logger using the default 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="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 = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(CPOClient, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <summary> /// Create a new OICP Mobile client. /// </summary> /// <param name="ClientId">A unqiue identification of this client.</param> /// <param name="Hostname">The OICP hostname to connect to.</param> /// <param name="RemotePort">An optional OICP TCP port to connect to.</param> /// <param name="RemoteCertificateValidator">A delegate to verify the remote TLS certificate.</param> /// <param name="ClientCertificateSelector">A delegate to select a TLS client certificate.</param> /// <param name="HTTPVirtualHost">An optional HTTP virtual host name to use.</param> /// <param name="HTTPUserAgent">An optional HTTP user agent to use.</param> /// <param name="RequestTimeout">An optional timeout for upstream queries.</param> /// <param name="MaxNumberOfRetries">The default number of maximum transmission retries.</param> /// <param name="DNSClient">An optional DNS client.</param> /// <param name="LoggingContext">An optional context for logging client methods.</param> /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public MobileClient(String ClientId, HTTPHostname Hostname, IPPort?RemotePort = null, RemoteCertificateValidationCallback RemoteCertificateValidator = null, LocalCertificateSelectionCallback ClientCertificateSelector = null, HTTPHostname?HTTPVirtualHost = null, HTTPPath?URLPrefix = null, String MobileAuthorizationURL = DefaultMobileAuthorizationURL, String HTTPUserAgent = DefaultHTTPUserAgent, TimeSpan?RequestTimeout = null, Byte?MaxNumberOfRetries = DefaultMaxNumberOfRetries, DNSClient DNSClient = null, String LoggingContext = MobileClientLogger.DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : base(ClientId, Hostname, RemotePort ?? DefaultRemotePort, RemoteCertificateValidator, ClientCertificateSelector, HTTPVirtualHost, URLPrefix ?? DefaultURLPrefix, null, HTTPUserAgent, RequestTimeout, null, MaxNumberOfRetries, DNSClient) { #region Initial checks if (ClientId.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(ClientId), "The given client identification must not be null or empty!"); } #endregion this.MobileAuthorizationURL = MobileAuthorizationURL ?? DefaultMobileAuthorizationURL; this.Logger = new MobileClientLogger(this, LoggingContext, LogfileCreator); }
/// <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> /// Create a new Common API logger using the given logging delegates. /// </summary> /// <param name="CommonAPI">An Common 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 CommonAPILogger(CommonAPI CommonAPI, String Context, OCPIRequestLoggerDelegate LogHTTPRequest_toConsole, OCPIResponseLoggerDelegate LogHTTPResponse_toConsole, OCPIRequestLoggerDelegate LogHTTPRequest_toDisc, OCPIResponseLoggerDelegate LogHTTPResponse_toDisc, OCPIRequestLoggerDelegate LogHTTPRequest_toNetwork = null, OCPIResponseLoggerDelegate LogHTTPResponse_toNetwork = null, OCPIRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, OCPIResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, OCPIResponseLoggerDelegate LogHTTPError_toConsole = null, OCPIResponseLoggerDelegate LogHTTPError_toDisc = null, OCPIResponseLoggerDelegate LogHTTPError_toNetwork = null, OCPIResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(CommonAPI.HTTPServer, 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.CommonAPI = CommonAPI ?? throw new ArgumentNullException(nameof(CommonAPI), "The given Common API must not be null!"); #region Credentials RegisterEvent("PostCredentialsRequest", handler => CommonAPI.OnPostCredentialsRequest += handler, handler => CommonAPI.OnPostCredentialsRequest -= handler, "Credentials", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostCredentialsResponse", handler => CommonAPI.OnPostCredentialsResponse += handler, handler => CommonAPI.OnPostCredentialsResponse -= handler, "Credentials", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutCredentialsRequest", handler => CommonAPI.OnPutCredentialsRequest += handler, handler => CommonAPI.OnPutCredentialsRequest -= handler, "Credentials", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutCredentialsResponse", handler => CommonAPI.OnPutCredentialsResponse += handler, handler => CommonAPI.OnPutCredentialsResponse -= handler, "Credentials", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCredentialsRequest", handler => CommonAPI.OnDeleteCredentialsRequest += handler, handler => CommonAPI.OnDeleteCredentialsRequest -= handler, "Credentials", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCredentialsResponse", handler => CommonAPI.OnDeleteCredentialsResponse += handler, handler => CommonAPI.OnDeleteCredentialsResponse -= handler, "Credentials", "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 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 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 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 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 EMSP API logger using the given logging delegates. /// </summary> /// <param name="EMSPAPI">An EMSP 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 EMSPAPILogger(EMSPAPI EMSPAPI, String Context, OCPIRequestLoggerDelegate LogHTTPRequest_toConsole, OCPIResponseLoggerDelegate LogHTTPResponse_toConsole, OCPIRequestLoggerDelegate LogHTTPRequest_toDisc, OCPIResponseLoggerDelegate LogHTTPResponse_toDisc, OCPIRequestLoggerDelegate LogHTTPRequest_toNetwork = null, OCPIResponseLoggerDelegate LogHTTPResponse_toNetwork = null, OCPIRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, OCPIResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, OCPIResponseLoggerDelegate LogHTTPError_toConsole = null, OCPIResponseLoggerDelegate LogHTTPError_toDisc = null, OCPIResponseLoggerDelegate LogHTTPError_toNetwork = null, OCPIResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogFileCreator = null) : base(EMSPAPI.HTTPServer, 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.EMSPAPI = EMSPAPI ?? throw new ArgumentNullException(nameof(EMSPAPI), "The given EMSP API must not be null!"); #region Locations RegisterEvent("DeleteLocationsRequest", handler => EMSPAPI.OnDeleteLocationsRequest += handler, handler => EMSPAPI.OnDeleteLocationsRequest -= handler, "DeleteLocations", "Locations", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteLocationsResponse", handler => EMSPAPI.OnDeleteLocationsResponse += handler, handler => EMSPAPI.OnDeleteLocationsResponse -= handler, "DeleteLocations", "Locations", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutLocationRequest", handler => EMSPAPI.OnPutLocationRequest += handler, handler => EMSPAPI.OnPutLocationRequest -= handler, "PutLocation", "Locations", "Put", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutLocationResponse", handler => EMSPAPI.OnPutLocationResponse += handler, handler => EMSPAPI.OnPutLocationResponse -= handler, "PutLocation", "Locations", "Put", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchLocationRequest", handler => EMSPAPI.OnPatchLocationRequest += handler, handler => EMSPAPI.OnPatchLocationRequest -= handler, "PatchLocation", "Locations", "Patch", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchLocationResponse", handler => EMSPAPI.OnPatchLocationResponse += handler, handler => EMSPAPI.OnPatchLocationResponse -= handler, "PatchLocation", "Locations", "Patch", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteLocationRequest", handler => EMSPAPI.OnDeleteLocationRequest += handler, handler => EMSPAPI.OnDeleteLocationRequest -= handler, "DeleteLocation", "Locations", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteLocationResponse", handler => EMSPAPI.OnDeleteLocationResponse += handler, handler => EMSPAPI.OnDeleteLocationResponse -= handler, "DeleteLocation", "Locations", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region EVSEs RegisterEvent("PutEVSERequest", handler => EMSPAPI.OnPutEVSERequest += handler, handler => EMSPAPI.OnPutEVSERequest -= handler, "PutEVSE", "EVSEs", "Put", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutEVSEResponse", handler => EMSPAPI.OnPutEVSEResponse += handler, handler => EMSPAPI.OnPutEVSEResponse -= handler, "PutEVSE", "EVSEs", "Put", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchEVSERequest", handler => EMSPAPI.OnPatchEVSERequest += handler, handler => EMSPAPI.OnPatchEVSERequest -= handler, "PatchEVSE", "EVSEs", "Patch", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchEVSEResponse", handler => EMSPAPI.OnPatchEVSEResponse += handler, handler => EMSPAPI.OnPatchEVSEResponse -= handler, "PatchEVSE", "EVSEs", "Patch", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteEVSERequest", handler => EMSPAPI.OnDeleteEVSERequest += handler, handler => EMSPAPI.OnDeleteEVSERequest -= handler, "DeleteEVSE", "EVSEs", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteEVSEResponse", handler => EMSPAPI.OnDeleteEVSEResponse += handler, handler => EMSPAPI.OnDeleteEVSEResponse -= handler, "DeleteEVSE", "EVSEs", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Connectors RegisterEvent("PutConnectorRequest", handler => EMSPAPI.OnPutConnectorRequest += handler, handler => EMSPAPI.OnPutConnectorRequest -= handler, "PutConnector", "Connectors", "Put", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutConnectorResponse", handler => EMSPAPI.OnPutConnectorResponse += handler, handler => EMSPAPI.OnPutConnectorResponse -= handler, "PutConnector", "Connectors", "Put", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchConnectorRequest", handler => EMSPAPI.OnPatchConnectorRequest += handler, handler => EMSPAPI.OnPatchConnectorRequest -= handler, "PatchConnector", "Connectors", "Patch", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchConnectorResponse", handler => EMSPAPI.OnPatchConnectorResponse += handler, handler => EMSPAPI.OnPatchConnectorResponse -= handler, "PatchConnector", "Connectors", "Patch", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteConnectorRequest", handler => EMSPAPI.OnDeleteConnectorRequest += handler, handler => EMSPAPI.OnDeleteConnectorRequest -= handler, "DeleteConnector", "Connectors", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteConnectorResponse", handler => EMSPAPI.OnDeleteConnectorResponse += handler, handler => EMSPAPI.OnDeleteConnectorResponse -= handler, "DeleteConnector", "Connectors", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tariffs RegisterEvent("PutTariffRequest", handler => EMSPAPI.OnPutTariffRequest += handler, handler => EMSPAPI.OnPutTariffRequest -= handler, "PutTariff", "Tariffs", "Put", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutTariffResponse", handler => EMSPAPI.OnPutTariffResponse += handler, handler => EMSPAPI.OnPutTariffResponse -= handler, "PutTariff", "Tariffs", "Put", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteTariffRequest", handler => EMSPAPI.OnDeleteTariffRequest += handler, handler => EMSPAPI.OnDeleteTariffRequest -= handler, "DeleteTariff", "Tariffs", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteTariffResponse", handler => EMSPAPI.OnDeleteTariffResponse += handler, handler => EMSPAPI.OnDeleteTariffResponse -= handler, "DeleteTariff", "Tariffs", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Sessions RegisterEvent("DeleteSessionsRequest", handler => EMSPAPI.OnDeleteSessionsRequest += handler, handler => EMSPAPI.OnDeleteSessionsRequest -= handler, "DeleteSessions", "Sessions", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteSessionsResponse", handler => EMSPAPI.OnDeleteSessionsResponse += handler, handler => EMSPAPI.OnDeleteSessionsResponse -= handler, "DeleteSessions", "Sessions", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutSessionRequest", handler => EMSPAPI.OnPutSessionRequest += handler, handler => EMSPAPI.OnPutSessionRequest -= handler, "PutSession", "Sessions", "Put", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutSessionResponse", handler => EMSPAPI.OnPutSessionResponse += handler, handler => EMSPAPI.OnPutSessionResponse -= handler, "PutSession", "Sessions", "Put", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchSessionRequest", handler => EMSPAPI.OnPatchSessionRequest += handler, handler => EMSPAPI.OnPatchSessionRequest -= handler, "PatchSession", "Sessions", "Patch", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchSessionResponse", handler => EMSPAPI.OnPatchSessionResponse += handler, handler => EMSPAPI.OnPatchSessionResponse -= handler, "PatchSession", "Sessions", "Patch", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteSessionRequest", handler => EMSPAPI.OnDeleteSessionRequest += handler, handler => EMSPAPI.OnDeleteSessionRequest -= handler, "DeleteSession", "Sessions", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteSessionResponse", handler => EMSPAPI.OnDeleteSessionResponse += handler, handler => EMSPAPI.OnDeleteSessionResponse -= handler, "DeleteSession", "Sessions", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region CDRs RegisterEvent("DeleteCDRsRequest", handler => EMSPAPI.OnDeleteCDRsRequest += handler, handler => EMSPAPI.OnDeleteCDRsRequest -= handler, "DeleteCDRs", "CDRs", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCDRsResponse", handler => EMSPAPI.OnDeleteCDRsResponse += handler, handler => EMSPAPI.OnDeleteCDRsResponse -= handler, "DeleteCDRs", "CDRs", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostCDRRequest", handler => EMSPAPI.OnPostCDRRequest += handler, handler => EMSPAPI.OnPostCDRRequest -= handler, "PostCDR", "CDRs", "Post", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostCDRResponse", handler => EMSPAPI.OnPostCDRResponse += handler, handler => EMSPAPI.OnPostCDRResponse -= handler, "PostCDR", "CDRs", "Post", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCDRRequest", handler => EMSPAPI.OnDeleteCDRRequest += handler, handler => EMSPAPI.OnDeleteCDRRequest -= handler, "DeleteCDR", "CDRs", "Delete", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("DeleteCDRResponse", handler => EMSPAPI.OnDeleteCDRResponse += handler, handler => EMSPAPI.OnDeleteCDRResponse -= handler, "DeleteCDR", "CDRs", "Delete", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tokens RegisterEvent("PostTokenRequest", handler => EMSPAPI.OnPostTokenRequest += handler, handler => EMSPAPI.OnPostTokenRequest -= handler, "PostToken", "Tokens", "Post", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PostTokenResponse", handler => EMSPAPI.OnPostTokenResponse += handler, handler => EMSPAPI.OnPostTokenResponse -= handler, "PostToken", "Tokens", "Post", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Command callbacks RegisterEvent("ReserveNowCallbackRequest", handler => EMSPAPI.OnReserveNowCallbackRequest += handler, handler => EMSPAPI.OnReserveNowCallbackRequest -= handler, "ReserveNowCallback", "ReservationCallbacks", "Callbacks", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReserveNowCallbackResponse", handler => EMSPAPI.OnReserveNowCallbackResponse += handler, handler => EMSPAPI.OnReserveNowCallbackResponse -= handler, "ReserveNowCallback", "ReservationCallbacks", "Callbacks", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationCallbackRequest", handler => EMSPAPI.OnCancelReservationCallbackRequest += handler, handler => EMSPAPI.OnCancelReservationCallbackRequest -= handler, "CancelReservationCallback", "ReservationCallbacks", "Callbacks", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationCallbackResponse", handler => EMSPAPI.OnCancelReservationCallbackResponse += handler, handler => EMSPAPI.OnCancelReservationCallbackResponse -= handler, "CancelReservationCallback", "ReservationCallbacks", "Callbacks", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionCallbackRequest", handler => EMSPAPI.OnStartSessionCallbackRequest += handler, handler => EMSPAPI.OnStartSessionCallbackRequest -= handler, "StartSessionCallback", "SessionCallbacks", "Callbacks", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionCallbackResponse", handler => EMSPAPI.OnStartSessionCallbackResponse += handler, handler => EMSPAPI.OnStartSessionCallbackResponse -= handler, "StartSessionCallback", "SessionCallbacks", "Callbacks", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionCallbackRequest", handler => EMSPAPI.OnStopSessionCallbackRequest += handler, handler => EMSPAPI.OnStopSessionCallbackRequest -= handler, "StopSessionCallback", "SessionCallbacks", "Callbacks", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionCallbackResponse", handler => EMSPAPI.OnStopSessionCallbackResponse += handler, handler => EMSPAPI.OnStopSessionCallbackResponse -= handler, "StopSessionCallback", "SessionCallbacks", "CaCallbackslback", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorCallbackRequest", handler => EMSPAPI.OnUnlockConnectorCallbackRequest += handler, handler => EMSPAPI.OnUnlockConnectorCallbackRequest -= handler, "UnlockConnectorCallback", "Callbacks", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorCallbackResponse", handler => EMSPAPI.OnUnlockConnectorCallbackResponse += handler, handler => EMSPAPI.OnUnlockConnectorCallbackResponse -= handler, "UnlockConnectorCallback", "Callbacks", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #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 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 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 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 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 }