2022-04-15 02:41:06 +02:00
|
|
|
package it.cavallium.dbengine.database.disk;
|
|
|
|
|
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
import org.rocksdb.DBOptions;
|
|
|
|
import org.rocksdb.InfoLogLevel;
|
|
|
|
|
2022-06-10 16:26:03 +02:00
|
|
|
public class RocksLog4jLogger extends org.rocksdb.Logger {
|
2022-04-15 02:41:06 +02:00
|
|
|
|
|
|
|
private final Logger logger;
|
|
|
|
|
|
|
|
public RocksLog4jLogger(DBOptions rocksdbOptions, Logger logger) {
|
|
|
|
super(rocksdbOptions);
|
|
|
|
this.logger = logger;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void log(InfoLogLevel infoLogLevel, String logMsg) {
|
|
|
|
switch (infoLogLevel) {
|
|
|
|
case DEBUG_LEVEL -> logger.debug(logMsg);
|
|
|
|
case INFO_LEVEL -> logger.info(logMsg);
|
|
|
|
case WARN_LEVEL -> logger.warn(logMsg);
|
|
|
|
case ERROR_LEVEL -> logger.error(logMsg);
|
|
|
|
case FATAL_LEVEL -> logger.fatal(logMsg);
|
|
|
|
case HEADER_LEVEL -> logger.trace(logMsg);
|
|
|
|
default -> throw new UnsupportedOperationException(infoLogLevel + " level not supported");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|