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 SLF4J Binding
Apache Log4j SLF4J Binding allows applications coded to the SLF4J API to use Log4j 2 as the implementation.
Bytecode (Java 8) for Apache Log4j SLF4J Binding is provided in a separate JAR file like log4j-slf4j-impl-2.14.1.jar.
Source Code files for Apache Log4j IOStreams 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 SLF4J Binding 2.14.1 below.
✍: FYIcenter.com
⏎ org/apache/logging/slf4j/Log4jMarkerFactory.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.slf4j; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.MarkerManager; import org.apache.logging.log4j.status.StatusLogger; import org.slf4j.IMarkerFactory; import org.slf4j.Marker; /** * Log4j/SLF4J bridge to create SLF4J Markers based on name or based on existing SLF4J Markers. */ public class Log4jMarkerFactory implements IMarkerFactory { private static final Logger LOGGER = StatusLogger.getLogger(); private final ConcurrentMap<String, Marker> markerMap = new ConcurrentHashMap<>(); /** * Returns a Log4j Marker that is compatible with SLF4J. * @param name The name of the Marker. * @return A Marker. */ @Override public Marker getMarker(final String name) { if (name == null) { throw new IllegalArgumentException("Marker name must not be null"); } final Marker marker = markerMap.get(name); if (marker != null) { return marker; } final org.apache.logging.log4j.Marker log4jMarker = MarkerManager.getMarker(name); return addMarkerIfAbsent(name, log4jMarker); } private Marker addMarkerIfAbsent(final String name, final org.apache.logging.log4j.Marker log4jMarker) { final Marker marker = new Log4jMarker(log4jMarker); final Marker existing = markerMap.putIfAbsent(name, marker); return existing == null ? marker : existing; } /** * Returns a Log4j Marker converted from an existing custom SLF4J Marker. * @param marker The SLF4J Marker to convert. * @return A converted Log4j/SLF4J Marker. * @since 2.1 */ public Marker getMarker(final Marker marker) { if (marker == null) { throw new IllegalArgumentException("Marker must not be null"); } final Marker m = markerMap.get(marker.getName()); if (m != null) { return m; } return addMarkerIfAbsent(marker.getName(), convertMarker(marker)); } private static org.apache.logging.log4j.Marker convertMarker(final Marker original) { if (original == null) { throw new IllegalArgumentException("Marker must not be null"); } return convertMarker(original, new ArrayList<Marker>()); } private static org.apache.logging.log4j.Marker convertMarker(final Marker original, final Collection<Marker> visited) { final org.apache.logging.log4j.Marker marker = MarkerManager.getMarker(original.getName()); if (original.hasReferences()) { final Iterator<Marker> it = original.iterator(); while (it.hasNext()) { final Marker next = it.next(); if (visited.contains(next)) { LOGGER.warn("Found a cycle in Marker [{}]. Cycle will be broken.", next.getName()); } else { visited.add(next); marker.addParents(convertMarker(next, visited)); } } } return marker; } /** * Returns true if the Marker exists. * @param name The Marker name. * @return {@code true} if the Marker exists, {@code false} otherwise. */ @Override public boolean exists(final String name) { return markerMap.containsKey(name); } /** * Log4j does not support detached Markers. This method always returns false. * @param name The Marker name. * @return {@code false} */ @Override public boolean detachMarker(final String name) { return false; } /** * Log4j does not support detached Markers for performance reasons. The returned Marker is attached. * @param name The Marker name. * @return The named Marker (unmodified). */ @Override public Marker getDetachedMarker(final String name) { LOGGER.warn("Log4j does not support detached Markers. Returned Marker [{}] will be unchanged.", name); return getMarker(name); } }
⏎ org/apache/logging/slf4j/Log4jMarkerFactory.java
Or download all of them as a single archive file:
File name: log4j-slf4j-impl-2.14.1-sources.jar File size: 23635 bytes Release date: 2021-03-06 Download
⇒ Source Code for Apache Log4j to SLF4J Adapter
⇐ Source Code for Apache Log4j Commons Logging Bridge
2015-11-04, 15421👍, 0💬
Popular Posts:
Apache Log4j provides the interface that applications should code to and provides the adapter compon...
How to perform XML Schema validation with sax\Writer.java provided in the Apache Xerces package? You...
What is the sax\Counter.java provided in the Apache Xerces package? I have Apache Xerces 2.11.0 inst...
MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but c...
What Is log4j-1.2.15.jar? I got the JAR file from apache-log4j-1.2.15.zip. log4j-1.2.15.jar is the v...