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 Core Implementation
Apache Log4j Core Implementation provides the functional components of the logging system. Users are free to create their own plugins and include them in the logging configuration. Apache Log4j Core is a required module to use Apache Log4j.
Bytecode (Java 8) for Apache Log4j Core Implementation is provided in a separate JAR file like log4j-core-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 Core Implementation 2.14.1 below.
✍: FYIcenter.com
⏎ org/apache/logging/log4j/core/util/ClockFactory.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.core.util; import org.apache.logging.log4j.core.time.PreciseClock; import org.apache.logging.log4j.status.StatusLogger; import org.apache.logging.log4j.util.PropertiesUtil; import org.apache.logging.log4j.util.Supplier; import java.util.HashMap; import java.util.Map; /** * Factory for {@code Clock} objects. */ public final class ClockFactory { /** * Name of the system property that can be used to specify a {@code Clock} * implementation class. The value of this property is {@value}. */ public static final String PROPERTY_NAME = "log4j.Clock"; private static final StatusLogger LOGGER = StatusLogger.getLogger(); // private static final Clock clock = createClock(); private ClockFactory() { } /** * Returns a {@code Clock} instance depending on the value of system * property {@link #PROPERTY_NAME}. * <p> * If system property {@code log4j.Clock=CachedClock} is specified, * this method returns an instance of {@link CachedClock}. If system * property {@code log4j.Clock=CoarseCachedClock} is specified, this * method returns an instance of {@link CoarseCachedClock}. * </p> * <p> * If another value is specified, this value is taken as the fully qualified * class name of a class that implements the {@code Clock} interface. An * object of this class is instantiated and returned. * </p> * <p> * If no value is specified, or if the specified value could not correctly * be instantiated or did not implement the {@code Clock} interface, then an * instance of {@link SystemClock} is returned. * </p> * * @return a {@code Clock} instance */ public static Clock getClock() { return createClock(); } private static Map<String, Supplier<Clock>> aliases() { final Map<String, Supplier<Clock>> result = new HashMap<>(); result.put("SystemClock", SystemClock::new); result.put("SystemMillisClock", SystemMillisClock::new); result.put("CachedClock", CachedClock::instance); result.put("CoarseCachedClock", CoarseCachedClock::instance); result.put("org.apache.logging.log4j.core.util.CachedClock", CachedClock::instance); result.put("org.apache.logging.log4j.core.util.CoarseCachedClock", CoarseCachedClock::instance); return result; } private static Clock createClock() { final String userRequest = PropertiesUtil.getProperties().getStringProperty(PROPERTY_NAME); if (userRequest == null) { LOGGER.trace("Using default SystemClock for timestamps."); return logSupportedPrecision(new SystemClock()); } final Supplier<Clock> specified = aliases().get(userRequest); if (specified != null) { LOGGER.trace("Using specified {} for timestamps.", userRequest); return logSupportedPrecision(specified.get()); } try { final Clock result = Loader.newCheckedInstanceOf(userRequest, Clock.class); LOGGER.trace("Using {} for timestamps.", result.getClass().getName()); return logSupportedPrecision(result); } catch (final Exception e) { final String fmt = "Could not create {}: {}, using default SystemClock for timestamps."; LOGGER.error(fmt, userRequest, e); return logSupportedPrecision(new SystemClock()); } } private static Clock logSupportedPrecision(final Clock clock) { final String support = clock instanceof PreciseClock ? "supports" : "does not support"; LOGGER.debug("{} {} precise timestamps.", clock.getClass().getName(), support); return clock; } }
⏎ org/apache/logging/log4j/core/util/ClockFactory.java
Or download all of them as a single archive file:
File name: log4j-core-2.14.1-sources.jar File size: 1281358 bytes Release date: 2021-03-06 Download
⇒ Source Code for Apache Log4j JDK Logging Adapter
⇐ Source Code for Apache Log4j API
2015-11-03, 85502👍, 0💬
Popular Posts:
commons-net.jar is the bytecode of Apache Commons Net library, which implements the client side of m...
MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but c...
JDK 11 java.compiler.jmod is the JMOD file for JDK 11 Compiler module. JDK 11 Compiler module compil...
JDK 11 jdk.jlink.jmod is the JMOD file for JDK 11 JLink tool, which can be invoked by the "jlink" co...
JDK 11 jdk.jdeps.jmod is the JMOD file for JDK 11 JDeps tool, which can be invoked by the "jdeps" co...