/** * Interface used by CDAP applications to log the data useful for debugging during runtime. */ public interface DebugLoggerFactory { /** * Returns {@code true} if application is running in debug mode otherwise false is returned. */ boolean isEnabled(); /** * Get the {@link Logger} used to log the debug data. * @param loggerName the name of the logger with which the log data to be associated * @return the instance of the Logger */ Logger getLogger(String loggerName); } /** * Interface used by the CDAP applications to log the debug data. */ public interface Logger { /** * Logs the data at INFO level. Multiple values can be logged against the same property. * @param propertyName the the name of the property * @param propertyValue the value associated with the property */ void info(String propertyName, Object propertyValue); /** * Logs the data at DEBUG level. Multiple values can be logged against the same property. * @param propertyName the the name of the property * @param propertyValue the value associated with the property */ void debug(String propertyName, Object propertyValue); /** * Logs the data at ERROR level. Multiple values can be logged against the same property. * @param propertyName the the name of the property * @param propertyValue the value associated with the property */ void error(String propertyName, Object propertyValue); /** * Return the name of the logger instance. */ String getName(); }