/* * Copyright 2014 Higher Frequency Trading * * http://www.higherfrequencytrading.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.openhft.chronicle.logger.jul; import net.openhft.chronicle.logger.ChronicleLogLevel; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.LogRecord; public class ChronicleHelper { private static final Map<Level, ChronicleLogLevel> julToCHronicleLevelMap; private static final Map<ChronicleLogLevel, Level> chronicleToJulLevelMap; static { julToCHronicleLevelMap = new HashMap<>(); julToCHronicleLevelMap.put(Level.ALL , ChronicleLogLevel.TRACE); julToCHronicleLevelMap.put(Level.FINEST , ChronicleLogLevel.TRACE); julToCHronicleLevelMap.put(Level.FINER , ChronicleLogLevel.TRACE); julToCHronicleLevelMap.put(Level.FINE , ChronicleLogLevel.DEBUG); julToCHronicleLevelMap.put(Level.CONFIG , ChronicleLogLevel.DEBUG); julToCHronicleLevelMap.put(Level.INFO , ChronicleLogLevel.INFO); julToCHronicleLevelMap.put(Level.WARNING , ChronicleLogLevel.WARN); julToCHronicleLevelMap.put(Level.SEVERE , ChronicleLogLevel.ERROR); chronicleToJulLevelMap = new HashMap<>(); chronicleToJulLevelMap.put(ChronicleLogLevel.TRACE, Level.FINER); chronicleToJulLevelMap.put(ChronicleLogLevel.DEBUG, Level.FINE); chronicleToJulLevelMap.put(ChronicleLogLevel.INFO , Level.INFO); chronicleToJulLevelMap.put(ChronicleLogLevel.WARN , Level.WARNING); chronicleToJulLevelMap.put(ChronicleLogLevel.ERROR, Level.SEVERE); } private ChronicleHelper() { } public static ChronicleLogLevel getLogLevel(final LogRecord julRecord) { return getLogLevel(julRecord.getLevel()); } public static ChronicleLogLevel getLogLevel(final Level julLevel) { ChronicleLogLevel level = julToCHronicleLevelMap.get(julLevel); return level != null ? level : ChronicleLogLevel.DEBUG; } public static Level getLogLevel(final ChronicleLogLevel chronicleLevel) { Level level = chronicleToJulLevelMap.get(chronicleLevel); return level != null ? level : Level.FINE; } }