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 1.2 Bridge
Apache Log4j 1.2 Bridge allows applications coded to use Log4j 1.2 API to use Log4j 2 instead.
Bytecode (Java 8) for Apache Log4j 1.2 Bridge is provided in a separate JAR file like log4j-1.2-api-2.14.1.jar.
Source Code files for Apache Log4j 1.2 Bridge 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 1.2 Bridge 2.14.1 below.
✍: FYIcenter.com
⏎ org/apache/log4j/bridge/LogEventAdapter.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.log4j.bridge; import org.apache.log4j.Category; import org.apache.log4j.Level; import org.apache.log4j.spi.LocationInfo; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.spi.ThrowableInformation; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.util.Loader; import org.apache.logging.log4j.core.util.Throwables; import org.apache.logging.log4j.spi.StandardLevel; import org.apache.logging.log4j.status.StatusLogger; import java.lang.reflect.Method; import java.util.Map; import java.util.Set; /** * Converts a Log4j 2 LogEvent into the components needed by a Log4j 1.x LoggingEvent. * This class requires Log4j 2. */ public class LogEventAdapter extends LoggingEvent { private static final long JVM_START_TIME = initStartTime(); private final LogEvent event; public LogEventAdapter(LogEvent event) { this.event = event; } /** * Returns the time when the application started, in milliseconds * elapsed since 01.01.1970. * @return the time when the JVM started. */ public static long getStartTime() { return JVM_START_TIME; } /** * Returns the result of {@code ManagementFactory.getRuntimeMXBean().getStartTime()}, * or the current system time if JMX is not available. */ private static long initStartTime() { // We'd like to call ManagementFactory.getRuntimeMXBean().getStartTime(), // but Google App Engine throws a java.lang.NoClassDefFoundError // "java.lang.management.ManagementFactory is a restricted class". // The reflection is necessary because without it, Google App Engine // will refuse to initialize this class. try { final Class<?> factoryClass = Loader.loadSystemClass("java.lang.management.ManagementFactory"); final Method getRuntimeMXBean = factoryClass.getMethod("getRuntimeMXBean"); final Object runtimeMXBean = getRuntimeMXBean.invoke(null); final Class<?> runtimeMXBeanClass = Loader.loadSystemClass("java.lang.management.RuntimeMXBean"); final Method getStartTime = runtimeMXBeanClass.getMethod("getStartTime"); return (Long) getStartTime.invoke(runtimeMXBean); } catch (final Throwable t) { StatusLogger.getLogger().error("Unable to call ManagementFactory.getRuntimeMXBean().getStartTime(), " + "using system time for OnStartupTriggeringPolicy", t); // We have little option but to declare "now" as the beginning of time. return System.currentTimeMillis(); } } public LogEvent getEvent() { return this.event; } /** * Set the location information for this logging event. The collected * information is cached for future use. */ @Override public LocationInfo getLocationInformation() { return new LocationInfo(event.getSource()); } /** * Return the level of this event. Use this form instead of directly * accessing the <code>level</code> field. */ @Override public Level getLevel() { switch (StandardLevel.getStandardLevel(event.getLevel().intLevel())) { case TRACE: return Level.TRACE; case DEBUG: return Level.DEBUG; case INFO: return Level.INFO; case WARN: return Level.WARN; case FATAL: return Level.FATAL; case OFF: return Level.OFF; case ALL: return Level.ALL; default: return Level.ERROR; } } /** * Return the name of the logger. Use this form instead of directly * accessing the <code>categoryName</code> field. */ @Override public String getLoggerName() { return event.getLoggerName(); } /** * Gets the logger of the event. */ @Override public Category getLogger() { return Category.getInstance(event.getLoggerName()); } /* Return the message for this logging event. */ @Override public Object getMessage() { return event.getMessage(); } /* * This method returns the NDC for this event. */ @Override public String getNDC() { return event.getContextStack().toString(); } /* Returns the context corresponding to the <code>key</code> parameter. */ @Override public Object getMDC(String key) { if (event.getContextData() != null) { return event.getContextData().getValue(key); } return null; } /** * Obtain a copy of this thread's MDC prior to serialization or * asynchronous logging. */ @Override public void getMDCCopy() { } @Override public String getRenderedMessage() { return event.getMessage().getFormattedMessage(); } @Override public String getThreadName() { return event.getThreadName(); } /** * Returns the throwable information contained within this * event. May be <code>null</code> if there is no such information. * * <p>Note that the {@link Throwable} object contained within a * {@link ThrowableInformation} does not survive serialization. * * @since 1.1 */ @Override public ThrowableInformation getThrowableInformation() { if (event.getThrown() != null) { return new ThrowableInformation(event.getThrown()); } return null; } /** * Return this event's throwable's string[] representaion. */ @Override public String[] getThrowableStrRep() { if (event.getThrown() != null) { return Throwables.toStringList(event.getThrown()).toArray(new String[0]); } return null; } @Override public String getProperty(final String key) { return event.getContextData().getValue(key); } @Override public Set getPropertyKeySet() { return event.getContextData().toMap().keySet(); } @Override public Map getProperties() { return event.getContextData().toMap(); } }
⏎ org/apache/log4j/bridge/LogEventAdapter.java
Or download all of them as a single archive file:
File name: log4j-1.2-api-2.14.1-sources.jar File size: 168047 bytes Release date: 2021-03-06 Download
⇒ Source Code for Apache Log4j JMX GUI
⇐ Source Code for Apache Log4j Flume Appender
2015-11-17, 37321👍, 0💬
Popular Posts:
Commons Pool provides an Object-pooling API, with three major aspects: 1. A generic object pool inte...
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
JasperReports, the world's most popular open source business intelligence and reporting engine and J...
JDK 11 java.xml.jmod is the JMOD file for JDK 11 XML (eXtensible Markup Language) module. JDK 11 XML...
What is the jaxp\SourceValidator.jav aprovided in the Apache Xerces package? I have Apache Xerces 2....