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.17
Apache Log4j
provides the interface that applications should code to and provides the adapter
components required for implementers to create a logging implementation.
Bytecode (Java 1.4) for Apache Log4j is provided in a JAR file like log4j-1.2.17.jar.
Source Code files for Apache Log4j are provided in both binary packge like log4j-1.2.17.zip and source package like log4j-1.2.17-sources.zip. You can download them at Apache Log4j Website.
You can also browse Source Code files for Apache Log4j 1.2.17 below.
✍: FYIcenter.com
⏎ org/apache/log4j/helpers/MDCKeySetExtractor.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.helpers; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.pattern.LogEvent; import java.lang.reflect.Method; import java.util.Set; import java.io.ByteArrayOutputStream; import java.io.ObjectOutputStream; import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; public final class MDCKeySetExtractor { private final Method getKeySetMethod; public static final MDCKeySetExtractor INSTANCE = new MDCKeySetExtractor(); private MDCKeySetExtractor() { // // log4j 1.2.15 and later will have method to get names // of all keys in MDC // Method getMethod = null; try { getMethod = LoggingEvent.class.getMethod( "getPropertyKeySet", null); } catch(Exception ex) { getMethod = null; } getKeySetMethod = getMethod; } public Set getPropertyKeySet(final LoggingEvent event) throws Exception { // // MDC keys are not visible prior to log4j 1.2.15 // Set keySet = null; if (getKeySetMethod != null) { keySet = (Set) getKeySetMethod.invoke(event, null); } else { // // for 1.2.14 and earlier could serialize and // extract MDC content ByteArrayOutputStream outBytes = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(outBytes); os.writeObject(event); os.close(); byte[] raw = outBytes.toByteArray(); // // bytes 6 and 7 should be the length of the original classname // should be the same as our substitute class name final String subClassName = LogEvent.class.getName(); if (raw[6] == 0 || raw[7] == subClassName.length()) { // // manipulate stream to use our class name // for (int i = 0; i < subClassName.length(); i++) { raw[8 + i] = (byte) subClassName.charAt(i); } ByteArrayInputStream inBytes = new ByteArrayInputStream(raw); ObjectInputStream is = new ObjectInputStream(inBytes); Object cracked = is.readObject(); if (cracked instanceof LogEvent) { keySet = ((LogEvent) cracked).getPropertyKeySet(); } is.close(); } } return keySet; } }
⏎ org/apache/log4j/helpers/MDCKeySetExtractor.java
Or download all of them as a single archive file:
File name: log4j-1.2.17-sources.jar File size: 481200 bytes Release date: 2012-05-06 Download
⇒ Download and Install apache-log4j-1.2.15.zip
⇐ Download and Install log4j-1.2.17.zip
2015-12-14, 58595👍, 0💬
Popular Posts:
JDK 11 jdk.rmic.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) Compiler Tool tool, ...
JDK 11 java.xml.crypto.jmod is the JMOD file for JDK 11 XML (eXtensible Markup Language) Crypto modu...
JAX-WS is an API for building web services and clients. It is the next generation Web Services API r...
jlGui is a music player for the Java platform. It is based on Java Sound 1.0 (i.e. JDK 1.3+). It sup...
Apache Commons Lang 3 is the 3rd version of Apache Commons Lang, which provides a host of helper uti...