/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.logging.log4j.jul; import org.apache.logging.log4j.Level; import org.junit.Assert; import org.junit.Test; /** * Tests {@link DefaultLevelConverter} for custom JUL levels. * * @since 2.4 */ public class DefaultLevelConverterCustomJulLevelsTest { static class CustomLevel extends java.util.logging.Level { private static final long serialVersionUID = 1L; static CustomLevel ALL_P_1 = new CustomLevel("ALL_P_1", java.util.logging.Level.ALL.intValue() + 1); static CustomLevel FINEST_P_1 = new CustomLevel("FINEST_P_1", java.util.logging.Level.FINEST.intValue() + 1); static CustomLevel FINEST_M_1 = new CustomLevel("FINEST_M_1", java.util.logging.Level.FINEST.intValue() - 1); static CustomLevel FINER_P_1 = new CustomLevel("FINER_P_1", java.util.logging.Level.FINER.intValue() + 1); static CustomLevel FINER_M_1 = new CustomLevel("FINER_M_1", java.util.logging.Level.FINER.intValue() - 1); static CustomLevel FINE_P_1 = new CustomLevel("FINE_P_1", java.util.logging.Level.FINE.intValue() + 1); static CustomLevel FINE_M_1 = new CustomLevel("FINE_M_1", java.util.logging.Level.FINE.intValue() - 1); static CustomLevel CONFIG_P_1 = new CustomLevel("CONFIG_P_1", java.util.logging.Level.CONFIG.intValue() + 1); static CustomLevel CONFIG_M_1 = new CustomLevel("CONFIG_M_1", java.util.logging.Level.CONFIG.intValue() - 1); static CustomLevel INFO_P_1 = new CustomLevel("INFO_P_1", java.util.logging.Level.INFO.intValue() + 1); static CustomLevel INFO_M_1 = new CustomLevel("INFO_M_1", java.util.logging.Level.INFO.intValue() - 1); static CustomLevel WARNING_P_1 = new CustomLevel("WARNING_P_1", java.util.logging.Level.WARNING.intValue() + 1); static CustomLevel WARNING_M_1 = new CustomLevel("WARNING_M_1", java.util.logging.Level.WARNING.intValue() - 1); static CustomLevel SEVERE_P_1 = new CustomLevel("SEVERE_P_1", java.util.logging.Level.SEVERE.intValue() + 1); static CustomLevel SEVERE_M_1 = new CustomLevel("SEVERE_M_1", java.util.logging.Level.SEVERE.intValue() - 1); static CustomLevel OFF_M_1 = new CustomLevel("OFF_M_1", java.util.logging.Level.OFF.intValue() - 1); protected CustomLevel(final String name, final int value) { super(name, value); } } private final DefaultLevelConverter converter = new DefaultLevelConverter(); @Test public void testCustomJulLevelNearAll() { // Sanity check: Assert.assertEquals(Level.ALL, converter.toLevel(java.util.logging.Level.ALL)); // Test: Assert.assertEquals(Level.ALL, converter.toLevel(CustomLevel.ALL_P_1)); } @Test public void testCustomJulLevelNearFinest() { // Sanity check: Assert.assertEquals(LevelTranslator.FINEST, converter.toLevel(java.util.logging.Level.FINEST)); // Test: Assert.assertEquals(LevelTranslator.FINEST, converter.toLevel(CustomLevel.FINEST_P_1)); Assert.assertEquals(LevelTranslator.FINEST, converter.toLevel(CustomLevel.FINEST_M_1)); } @Test public void testCustomJulLevelNearFiner() { // Sanity check: Assert.assertEquals(Level.TRACE, converter.toLevel(java.util.logging.Level.FINER)); // Test: Assert.assertEquals(Level.TRACE, converter.toLevel(CustomLevel.FINER_P_1)); Assert.assertEquals(Level.TRACE, converter.toLevel(CustomLevel.FINER_M_1)); } @Test public void testCustomJulLevelNearFine() { // Sanity check: Assert.assertEquals(Level.DEBUG, converter.toLevel(java.util.logging.Level.FINE)); // Test: Assert.assertEquals(Level.DEBUG, converter.toLevel(CustomLevel.FINE_P_1)); Assert.assertEquals(Level.DEBUG, converter.toLevel(CustomLevel.FINE_M_1)); } @Test public void testCustomJulLevelNearConfig() { // Sanity check: Assert.assertEquals(LevelTranslator.CONFIG, converter.toLevel(java.util.logging.Level.CONFIG)); // Test: Assert.assertEquals(LevelTranslator.CONFIG, converter.toLevel(CustomLevel.CONFIG_P_1)); Assert.assertEquals(LevelTranslator.CONFIG, converter.toLevel(CustomLevel.CONFIG_M_1)); } @Test public void testCustomJulLevelNearInfo() { // Sanity check: Assert.assertEquals(Level.INFO, converter.toLevel(java.util.logging.Level.INFO)); // Test: Assert.assertEquals(Level.INFO, converter.toLevel(CustomLevel.INFO_P_1)); Assert.assertEquals(Level.INFO, converter.toLevel(CustomLevel.INFO_M_1)); } @Test public void testCustomJulLevelNearWarning() { // Sanity check: Assert.assertEquals(Level.WARN, converter.toLevel(java.util.logging.Level.WARNING)); // Test: Assert.assertEquals(Level.WARN, converter.toLevel(CustomLevel.WARNING_P_1)); Assert.assertEquals(Level.WARN, converter.toLevel(CustomLevel.WARNING_M_1)); } @Test public void testCustomJulLevelNearSevere() { // Sanity check: Assert.assertEquals(Level.ERROR, converter.toLevel(java.util.logging.Level.SEVERE)); // Test: Assert.assertEquals(Level.ERROR, converter.toLevel(CustomLevel.SEVERE_P_1)); Assert.assertEquals(Level.ERROR, converter.toLevel(CustomLevel.SEVERE_M_1)); } @Test public void testCustomJulLevelNearOff() { // Sanity check: Assert.assertEquals(Level.OFF, converter.toLevel(java.util.logging.Level.OFF)); // Test: Assert.assertEquals(Level.OFF, converter.toLevel(CustomLevel.OFF_M_1)); } }