/// <summary> /// Create a new EMSP client logger using the default logging delegates. /// </summary> /// <param name="EMSPClient">A EMSP 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 Logger(EMSPClient EMSPClient, String Context = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(EMSPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogfileCreator : LogfileCreator) { }
/// <summary> /// Create a new EMSP client logger using the given logging delegates. /// </summary> /// <param name="EMSPClient">A EMSP client.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP client sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP client sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP client sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public Logger(EMSPClient EMSPClient, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(EMSPClient, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.EMSPClient = EMSPClient ?? throw new ArgumentNullException(nameof(EMSPClient), "The given EMSP client must not be null!"); #region Locations RegisterEvent("GetLocationsRequest", handler => EMSPClient.OnGetLocationsHTTPRequest += handler, handler => EMSPClient.OnGetLocationsHTTPRequest -= handler, "GetLocations", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationsResponse", handler => EMSPClient.OnGetLocationsHTTPResponse += handler, handler => EMSPClient.OnGetLocationsHTTPResponse -= handler, "GetLocations", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationByIdRequest", handler => EMSPClient.OnGetLocationByIdHTTPRequest += handler, handler => EMSPClient.OnGetLocationByIdHTTPRequest -= handler, "GetLocationById", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetLocationByIdResponse", handler => EMSPClient.OnGetLocationByIdHTTPResponse += handler, handler => EMSPClient.OnGetLocationByIdHTTPResponse -= handler, "GetLocationById", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetEVSEByUIdRequest", handler => EMSPClient.OnGetEVSEByUIdHTTPRequest += handler, handler => EMSPClient.OnGetEVSEByUIdHTTPRequest -= handler, "GetEVSEByUId", "EVSEs", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetEVSEByUIdResponse", handler => EMSPClient.OnGetEVSEByUIdHTTPResponse += handler, handler => EMSPClient.OnGetEVSEByUIdHTTPResponse -= handler, "GetEVSEByUId", "EVSEs", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetConnectorByIdRequest", handler => EMSPClient.OnGetConnectorByIdHTTPRequest += handler, handler => EMSPClient.OnGetConnectorByIdHTTPRequest -= handler, "GetConnectorById", "connectors", "locations", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetConnectorByIdResponse", handler => EMSPClient.OnGetConnectorByIdHTTPResponse += handler, handler => EMSPClient.OnGetConnectorByIdHTTPResponse -= handler, "GetConnectorById", "connectors", "locations", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tariffs RegisterEvent("GetTariffsRequest", handler => EMSPClient.OnGetTariffsHTTPRequest += handler, handler => EMSPClient.OnGetTariffsHTTPRequest -= handler, "GetTariffs", "tariffs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffsResponse", handler => EMSPClient.OnGetTariffsHTTPResponse += handler, handler => EMSPClient.OnGetTariffsHTTPResponse -= handler, "GetTariffs", "tariffs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffByIdRequest", handler => EMSPClient.OnGetTariffByIdHTTPRequest += handler, handler => EMSPClient.OnGetTariffByIdHTTPRequest -= handler, "GetTariffById", "tariffs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTariffByIdResponse", handler => EMSPClient.OnGetTariffByIdHTTPResponse += handler, handler => EMSPClient.OnGetTariffByIdHTTPResponse -= handler, "GetTariffById", "tariffs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Sessions RegisterEvent("GetSessionsRequest", handler => EMSPClient.OnGetSessionsHTTPRequest += handler, handler => EMSPClient.OnGetSessionsHTTPRequest -= handler, "GetSessions", "sessions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionsResponse", handler => EMSPClient.OnGetSessionsHTTPResponse += handler, handler => EMSPClient.OnGetSessionsHTTPResponse -= handler, "GetSessions", "sessions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionByIdRequest", handler => EMSPClient.OnGetSessionByIdHTTPRequest += handler, handler => EMSPClient.OnGetSessionByIdHTTPRequest -= handler, "GetSessionById", "sessions", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetSessionByIdResponse", handler => EMSPClient.OnGetSessionByIdHTTPResponse += handler, handler => EMSPClient.OnGetSessionByIdHTTPResponse -= handler, "GetSessionById", "sessions", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region CDRs RegisterEvent("GetCDRsRequest", handler => EMSPClient.OnGetCDRsHTTPRequest += handler, handler => EMSPClient.OnGetCDRsHTTPRequest -= handler, "GetCDRs", "CDRs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRsResponse", handler => EMSPClient.OnGetCDRsHTTPResponse += handler, handler => EMSPClient.OnGetCDRsHTTPResponse -= handler, "GetCDRs", "CDRs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRByIdRequest", handler => EMSPClient.OnGetCDRByIdHTTPRequest += handler, handler => EMSPClient.OnGetCDRByIdHTTPRequest -= handler, "GetCDRById", "CDRs", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetCDRByIdResponse", handler => EMSPClient.OnGetCDRByIdHTTPResponse += handler, handler => EMSPClient.OnGetCDRByIdHTTPResponse -= handler, "GetCDRById", "CDRs", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Tokens RegisterEvent("GetTokenRequest", handler => EMSPClient.OnGetTokenHTTPRequest += handler, handler => EMSPClient.OnGetTokenHTTPRequest -= handler, "GetToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("GetTokenResponse", handler => EMSPClient.OnGetTokenHTTPResponse += handler, handler => EMSPClient.OnGetTokenHTTPResponse -= handler, "GetToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutTokenRequest", handler => EMSPClient.OnPutTokenHTTPRequest += handler, handler => EMSPClient.OnPutTokenHTTPRequest -= handler, "PutToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PutTokenResponse", handler => EMSPClient.OnPutTokenHTTPResponse += handler, handler => EMSPClient.OnPutTokenHTTPResponse -= handler, "PutToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchTokenRequest", handler => EMSPClient.OnPatchTokenHTTPRequest += handler, handler => EMSPClient.OnPatchTokenHTTPRequest -= handler, "PatchToken", "tokens", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("PatchTokenResponse", handler => EMSPClient.OnPatchTokenHTTPResponse += handler, handler => EMSPClient.OnPatchTokenHTTPResponse -= handler, "PatchToken", "tokens", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Commands RegisterEvent("ReserveNowRequest", handler => EMSPClient.OnReserveNowHTTPRequest += handler, handler => EMSPClient.OnReserveNowHTTPRequest -= handler, "ReserveNow", "reservations", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("ReserveNowResponse", handler => EMSPClient.OnReserveNowHTTPResponse += handler, handler => EMSPClient.OnReserveNowHTTPResponse -= handler, "ReserveNow", "reservations", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationRequest", handler => EMSPClient.OnCancelReservationHTTPRequest += handler, handler => EMSPClient.OnCancelReservationHTTPRequest -= handler, "CancelReservation", "reservations", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("CancelReservationResponse", handler => EMSPClient.OnCancelReservationHTTPResponse += handler, handler => EMSPClient.OnCancelReservationHTTPResponse -= handler, "CancelReservation", "reservations", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionRequest", handler => EMSPClient.OnStartSessionHTTPRequest += handler, handler => EMSPClient.OnStartSessionHTTPRequest -= handler, "StartSession", "StartStopSessions", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StartSessionResponse", handler => EMSPClient.OnStartSessionHTTPResponse += handler, handler => EMSPClient.OnStartSessionHTTPResponse -= handler, "StartSession", "StartStopSessions", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionRequest", handler => EMSPClient.OnStopSessionHTTPRequest += handler, handler => EMSPClient.OnStopSessionHTTPRequest -= handler, "StopSession", "StopStopSessions", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("StopSessionResponse", handler => EMSPClient.OnStopSessionHTTPResponse += handler, handler => EMSPClient.OnStopSessionHTTPResponse -= handler, "StopSession", "StopStopSessions", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorRequest", handler => EMSPClient.OnUnlockConnectorHTTPRequest += handler, handler => EMSPClient.OnUnlockConnectorHTTPRequest -= handler, "UnlockConnector", "commands", "requests", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("UnlockConnectorResponse", handler => EMSPClient.OnUnlockConnectorHTTPResponse += handler, handler => EMSPClient.OnUnlockConnectorHTTPResponse -= handler, "UnlockConnector", "commands", "responses", "all"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }