CavalliumDBEngine/src/main/java/it/cavallium/dbengine/database/disk/RocksLog4jLogger.java
2022-06-10 16:26:03 +02:00

29 lines
833 B
Java

package it.cavallium.dbengine.database.disk;
import org.apache.logging.log4j.Logger;
import org.rocksdb.DBOptions;
import org.rocksdb.InfoLogLevel;
public class RocksLog4jLogger extends org.rocksdb.Logger {
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");
}
}
}