Interface SdkLogger
-
- All Known Implementing Classes:
FileSdkLogger
,NullSdkLogger
public interface SdkLogger
Represents a logger used to log events
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isDebugEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to debug, otherwise return false.boolean
isErrorEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to error, otherwise return false.boolean
isInfoEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to info, otherwise return false.boolean
isLevelEnabled(ch.qos.logback.classic.Level level, SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to given level, otherwise false.boolean
isTraceEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to trace, otherwise return false.boolean
isWarnEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to warn, otherwise return false.void
logAlert(ch.qos.logback.classic.Level level, String message)
SDK will generate and signal alerts in case of any special events.void
logAlert(ch.qos.logback.classic.Level level, String message, Exception exception)
SDK will generate and signal alerts in case of any special events.void
logClientInteraction(ch.qos.logback.classic.Level level, String message)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log.void
logClientInteraction(ch.qos.logback.classic.Level level, String message, Exception exception)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log.void
logClientInteraction(ch.qos.logback.classic.Level level, String message, org.joda.time.Duration interval, Exception exception)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log.void
logInvalidMessage(ch.qos.logback.classic.Level level, String message)
Corrupt input feed data will be dumped into log files dedicated to corrupt input data (could be garbage and not even text, exceeding max buffer size).void
logTraffic(boolean outgoing, String message)
Depending on configuration SDK will be able to dump all feed XML traffic into dedicated traffic logs.void
logTraffic(String message)
Dump given message to traffic log.
-
-
-
Method Detail
-
isDebugEnabled
boolean isDebugEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to debug, otherwise return false.- Parameters:
sdkLogAppenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to debug, otherwise false
-
isErrorEnabled
boolean isErrorEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to error, otherwise return false.- Parameters:
sdkLogAppenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to error, otherwise false
-
isInfoEnabled
boolean isInfoEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to info, otherwise return false.- Parameters:
sdkLogAppenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to info, otherwise false
-
isLevelEnabled
boolean isLevelEnabled(ch.qos.logback.classic.Level level, SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to given level, otherwise false.- Parameters:
level
- specified levelsdkLogAppenderType
- specified appender type- Returns:
true
when logger with appender type have current level equal to level, otherwisefalse
-
isTraceEnabled
boolean isTraceEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to trace, otherwise return false.- Parameters:
sdkLogAppenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to trace, otherwise false
-
isWarnEnabled
boolean isWarnEnabled(SdkLogAppenderType sdkLogAppenderType)
Return true when logger with given appender type have current log level equal to warn, otherwise return false.- Parameters:
sdkLogAppenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to warn, otherwise false
-
logAlert
void logAlert(ch.qos.logback.classic.Level level, String message)
SDK will generate and signal alerts in case of any special events. This could happen when network connection is dropped, rate-limiting thresholds are exceeded, when going over queue low/high watermarks, when feed error recovery is in progress, if persistent state store gets out-of-sync, when event dispatching is put on pause, when SDK library is reloaded, current status of login sequence, etc. Alerts will be dumped into dedicated alert logs. Special alerts (configurable) could be logged to other log appenders, like SMTP appender, NT Event Log appender or JmxLogger appender.- Parameters:
level
- Log levelmessage
- Alert message
-
logAlert
void logAlert(ch.qos.logback.classic.Level level, String message, Exception exception)
SDK will generate and signal alerts in case of any special events. This could happen when network connection is dropped, rate-limiting thresholds are exceeded, when going over queue low/high watermarks, when feed error recovery is in progress, if persistent state store gets out-of-sync, when event dispatching is put on pause, when SDK library is reloaded, current status of login sequence, etc. Alerts will be dumped into dedicated alert logs. Special alerts (configurable) could be logged to other log appenders, like SMTP appender, NT Event Log appender or JmxLogger appender.- Parameters:
level
- - Log levelmessage
- Alert messageexception
- Optional exception
-
logClientInteraction
void logClientInteraction(ch.qos.logback.classic.Level level, String message)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log. This includes all method invocations on the SDK interface including parameter values, request parameter validation errors and other errors returned by the SDK, unhandled client exceptions, errors reported by the client handlers, timings of each call, etc.- Parameters:
level
- Log levelmessage
- String message
-
logClientInteraction
void logClientInteraction(ch.qos.logback.classic.Level level, String message, Exception exception)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log. This includes all method invocations on the SDK interface including parameter values, request parameter validation errors and other errors returned by the SDK, unhandled client exceptions, errors reported by the client handlers, timings of each call, etc.- Parameters:
level
- Log levelmessage
- String messageexception
- Optional exception
-
logClientInteraction
void logClientInteraction(ch.qos.logback.classic.Level level, String message, org.joda.time.Duration interval, Exception exception)
All interaction with the client software on the SDK interface level will be logged in a separate client communication log. This includes all method invocations on the SDK interface including parameter values, request parameter validation errors and other errors returned by the SDK, unhandled client exceptions, errors reported by the client handlers, timings of each call, etc.- Parameters:
level
- Log levelmessage
- String messageinterval
- Elapsed time while processing client request or client handler invocation (optional)exception
- Optional exception
-
logInvalidMessage
void logInvalidMessage(ch.qos.logback.classic.Level level, String message)
Corrupt input feed data will be dumped into log files dedicated to corrupt input data (could be garbage and not even text, exceeding max buffer size). Invalid input messages will be dumped into log files dedicated to invalid input messages (text, but not necessarily XML).- Parameters:
level
- Log levelmessage
- Invalid message
-
logTraffic
void logTraffic(boolean outgoing, String message)
Depending on configuration SDK will be able to dump all feed XML traffic into dedicated traffic logs. This data is already logged at the feed server level but here the client will have possibility to configure traffic log filters based on the type of message, level of detail, match id, etc.- Parameters:
outgoing
- when true it specifies a message the SDK has sent; false means that a message SDK receivedmessage
- Message that was either read or written to the communication channel
-
logTraffic
void logTraffic(String message)
Dump given message to traffic log.- Parameters:
message
- Message that was either read or written to the channel
-
-