Class FileSdkLogger
- java.lang.Object
-
- com.sportradar.livedata.sdk.common.classes.BaseSdkLogger
-
- com.sportradar.livedata.sdk.common.classes.FileSdkLogger
-
- All Implemented Interfaces:
SdkLogger
public class FileSdkLogger extends BaseSdkLogger implements SdkLogger
File SDK logger implementation.
-
-
Field Summary
Fields Modifier and Type Field Description static String
LOG_COMMON
static String
LOG_PATTERN
static String
LOG_SUFFIX
static String
ROOT_NS
static String
ZIP_SUFFIX
-
Fields inherited from class com.sportradar.livedata.sdk.common.classes.BaseSdkLogger
alertLogger, clientInteractionLogger, invalidMessageLogger, logger, rootExecLogger, trafficLogger, usingLogback
-
-
Constructor Summary
Constructors Constructor Description FileSdkLogger(LoggerSettings loggerSettings, Timer timer)
FileSdkLogger(LoggerSettings loggerSettings, Timer timer, String markerName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SdkLogAppenderType
getAppenderType(String appenderName)
Return enum of typeSdkLogAppenderType
from a given appender name.static ch.qos.logback.classic.Level
getLevel(String level)
boolean
isDebugEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to debug, otherwise return false.boolean
isErrorEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to error, otherwise return false.boolean
isInfoEnabled(SdkLogAppenderType appenderType)
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 appenderType)
Return true when logger with given appender type have current log level equal to given level, otherwise false.boolean
isTraceEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to trace, otherwise return false.boolean
isWarnEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to warn, otherwise return false.protected void
log(ch.qos.logback.classic.Logger logger, ch.qos.logback.classic.Level level, String message)
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.void
logWithException(org.slf4j.Logger logger, ch.qos.logback.classic.Level level, String message, Exception exception)
-
-
-
Field Detail
-
LOG_COMMON
public static final String LOG_COMMON
- See Also:
- Constant Field Values
-
LOG_SUFFIX
public static final String LOG_SUFFIX
- See Also:
- Constant Field Values
-
ZIP_SUFFIX
public static final String ZIP_SUFFIX
- See Also:
- Constant Field Values
-
LOG_PATTERN
public static final String LOG_PATTERN
- See Also:
- Constant Field Values
-
ROOT_NS
public static String ROOT_NS
-
-
Constructor Detail
-
FileSdkLogger
public FileSdkLogger(LoggerSettings loggerSettings, Timer timer) throws SdkException
- Throws:
SdkException
-
FileSdkLogger
public FileSdkLogger(LoggerSettings loggerSettings, Timer timer, String markerName) throws SdkException
- Throws:
SdkException
-
-
Method Detail
-
getAppenderType
public static SdkLogAppenderType getAppenderType(String appenderName)
Return enum of typeSdkLogAppenderType
from a given appender name.- Parameters:
appenderName
- specified appender type name- Returns:
- appender type of type
SdkLogAppenderType
from given appender name
-
getLevel
public static ch.qos.logback.classic.Level getLevel(String level)
-
isDebugEnabled
public boolean isDebugEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to debug, otherwise return false.- Specified by:
isDebugEnabled
in interfaceSdkLogger
- Parameters:
appenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to debug, otherwise false
-
isErrorEnabled
public boolean isErrorEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to error, otherwise return false.- Specified by:
isErrorEnabled
in interfaceSdkLogger
- Parameters:
appenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to error, otherwise false
-
isInfoEnabled
public boolean isInfoEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to info, otherwise return false.- Specified by:
isInfoEnabled
in interfaceSdkLogger
- Parameters:
appenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to info, otherwise false
-
isLevelEnabled
public boolean isLevelEnabled(ch.qos.logback.classic.Level level, SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to given level, otherwise false.- Specified by:
isLevelEnabled
in interfaceSdkLogger
- Parameters:
level
- specified levelappenderType
- specified appender type- Returns:
true
when logger with appender type have current level equal to level, otherwisefalse
-
isTraceEnabled
public boolean isTraceEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to trace, otherwise return false.- Specified by:
isTraceEnabled
in interfaceSdkLogger
- Parameters:
appenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to trace, otherwise false
-
isWarnEnabled
public boolean isWarnEnabled(SdkLogAppenderType appenderType)
Return true when logger with given appender type have current log level equal to warn, otherwise return false.- Specified by:
isWarnEnabled
in interfaceSdkLogger
- Parameters:
appenderType
- specified appender type- Returns:
- true when logger with appender type have current level equal to warn, otherwise false
-
logAlert
public 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.
-
logAlert
public 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.
-
logClientInteraction
public 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.- Specified by:
logClientInteraction
in interfaceSdkLogger
- Parameters:
level
- Log levelmessage
- String message
-
logClientInteraction
public void logClientInteraction(ch.qos.logback.classic.Level level, String message, Exception exception)
Description copied from interface:SdkLogger
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.- Specified by:
logClientInteraction
in interfaceSdkLogger
- Parameters:
level
- Log levelmessage
- String messageexception
- Optional exception
-
logClientInteraction
public void logClientInteraction(ch.qos.logback.classic.Level level, String message, org.joda.time.Duration interval, Exception exception)
Description copied from interface:SdkLogger
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.- Specified by:
logClientInteraction
in interfaceSdkLogger
- Parameters:
level
- Log levelmessage
- String messageinterval
- Elapsed time while processing client request or client handler invocation (optional)exception
- Optional exception
-
logInvalidMessage
public 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).- Specified by:
logInvalidMessage
in interfaceSdkLogger
- Parameters:
level
- Log levelmessage
- Invalid message
-
logTraffic
public 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.- Specified by:
logTraffic
in interfaceSdkLogger
- 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
public void logTraffic(String message)
Dump given message to traffic log.- Specified by:
logTraffic
in interfaceSdkLogger
- Parameters:
message
- Message that was either read or written to the channel
-
log
protected void log(ch.qos.logback.classic.Logger logger, ch.qos.logback.classic.Level level, String message)
- Specified by:
log
in classBaseSdkLogger
-
logWithException
public void logWithException(org.slf4j.Logger logger, ch.qos.logback.classic.Level level, String message, Exception exception)
- Specified by:
logWithException
in classBaseSdkLogger
-
-