Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Source Code for Apache Log4j JDK Logging Adapter
Apache Log4j JDK Logging Adapter
is a custom implementation of java.util.logging.LogManager that uses Log4j. This
adapter can be used with either the Log4j API or Log4j Core.
Bytecode (Java 8) for Apache Log4j JDK Logging Adapter is provided in a separate JAR file like log4j-jul-2.14.1.jar.
Source Code files for Apache Log4j API are provided in both binary packge like apache-log4j-2.14.1-bin.zip and source package like apache-log4j-2.14.1-src.zip. You can download them at Apache Log4j Website.
You can also browse Source Code files for Apache Log4j JDK Logging Adapter 2.14.1 below.
✍: Quest
⏎ org/apache/logging/log4j/jul/DefaultLevelConverter.java
/* * 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 java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.IdentityHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.logging.log4j.Level; /** * Default implementation of LevelConverter strategy. * <p> * Since 2.4, supports custom JUL levels by mapping them to their closest mapped neighbour. * </p> * * @since 2.1 */ public class DefaultLevelConverter implements LevelConverter { static final class JulLevelComparator implements Comparator<java.util.logging.Level>, Serializable { private static final long serialVersionUID = 1L; @Override public int compare(final java.util.logging.Level level1, final java.util.logging.Level level2) { return Integer.compare(level1.intValue(), level2.intValue()); } } private final ConcurrentMap<java.util.logging.Level, Level> julToLog4j = new ConcurrentHashMap<>(9); private final Map<Level, java.util.logging.Level> log4jToJul = new IdentityHashMap<>(10); private final List<java.util.logging.Level> sortedJulLevels = new ArrayList<>(9); public DefaultLevelConverter() { // Map JUL to Log4j mapJulToLog4j(java.util.logging.Level.ALL, Level.ALL); mapJulToLog4j(java.util.logging.Level.FINEST, LevelTranslator.FINEST); mapJulToLog4j(java.util.logging.Level.FINER, Level.TRACE); mapJulToLog4j(java.util.logging.Level.FINE, Level.DEBUG); mapJulToLog4j(java.util.logging.Level.CONFIG, LevelTranslator.CONFIG); mapJulToLog4j(java.util.logging.Level.INFO, Level.INFO); mapJulToLog4j(java.util.logging.Level.WARNING, Level.WARN); mapJulToLog4j(java.util.logging.Level.SEVERE, Level.ERROR); mapJulToLog4j(java.util.logging.Level.OFF, Level.OFF); // Map Log4j to JUL mapLog4jToJul(Level.ALL, java.util.logging.Level.ALL); mapLog4jToJul(LevelTranslator.FINEST, java.util.logging.Level.FINEST); mapLog4jToJul(Level.TRACE, java.util.logging.Level.FINER); mapLog4jToJul(Level.DEBUG, java.util.logging.Level.FINE); mapLog4jToJul(LevelTranslator.CONFIG, java.util.logging.Level.CONFIG); mapLog4jToJul(Level.INFO, java.util.logging.Level.INFO); mapLog4jToJul(Level.WARN, java.util.logging.Level.WARNING); mapLog4jToJul(Level.ERROR, java.util.logging.Level.SEVERE); mapLog4jToJul(Level.FATAL, java.util.logging.Level.SEVERE); mapLog4jToJul(Level.OFF, java.util.logging.Level.OFF); // Sorted Java levels sortedJulLevels.addAll(julToLog4j.keySet()); Collections.sort(sortedJulLevels, new JulLevelComparator()); } private long distance(final java.util.logging.Level javaLevel, final java.util.logging.Level customJavaLevel) { return Math.abs((long) customJavaLevel.intValue() - (long) javaLevel.intValue()); } /* * TODO consider making public for advanced configuration. */ private void mapJulToLog4j(final java.util.logging.Level julLevel, final Level level) { julToLog4j.put(julLevel, level); } /* * TODO consider making public for advanced configuration. */ private void mapLog4jToJul(final Level level, final java.util.logging.Level julLevel) { log4jToJul.put(level, julLevel); } private Level nearestLevel(final java.util.logging.Level customJavaLevel) { long prevDist = Long.MAX_VALUE; java.util.logging.Level prevLevel = null; for (final java.util.logging.Level mappedJavaLevel : sortedJulLevels) { final long distance = distance(customJavaLevel, mappedJavaLevel); if (distance > prevDist) { return julToLog4j.get(prevLevel); } prevDist = distance; prevLevel = mappedJavaLevel; } return julToLog4j.get(prevLevel); } @Override public java.util.logging.Level toJavaLevel(final Level level) { return log4jToJul.get(level); } @Override public Level toLevel(final java.util.logging.Level javaLevel) { if (javaLevel == null) { return null; } final Level level = julToLog4j.get(javaLevel); if (level != null) { return level; } final Level nearestLevel = nearestLevel(javaLevel); julToLog4j.put(javaLevel, nearestLevel); return nearestLevel; } }
⏎ org/apache/logging/log4j/jul/DefaultLevelConverter.java
Or download all of them as a single archive file:
File name: log4j-jul-2.14.1-sources.jar File size: 24567 bytes Release date: 2021-03-06 Download
⇒ Source Code for Apache Log4j Commons Logging Bridge
⇐ Source Code for Apache Log4j Core Implementation
2015-11-22, 13052👍, 0💬
Popular Posts:
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nea...
Apache Log4j IOStreams is a Log4j API extension that provides numerous classes from java.io that can...
What Is js.jar in Rhino JavaScript 1.7R5? js.jar in Rhino JavaScript 1.7R5 is the JAR file for Rhino...
JSP(tm) Standard Tag Library 1.0 implementation - Jakarta Taglibs hosts the Standard Taglib 1.0, an ...