Categories:
Audio (13)
Biotech (29)
Bytecode (35)
Database (77)
Framework (7)
Game (7)
General (512)
Graphics (53)
I/O (32)
IDE (2)
JAR Tools (86)
JavaBeans (16)
JDBC (89)
JDK (337)
JSP (20)
Logging (103)
Mail (54)
Messaging (8)
Network (71)
PDF (94)
Report (7)
Scripting (83)
Security (32)
Server (119)
Servlet (17)
SOAP (24)
Testing (50)
Web (19)
XML (301)
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
Â
⇒ Download and Install apache-log4j-1.2.15.zip
⇠Download and Install log4j-1.2.17.zip
⇑ Downloading Apache Log4j 1.x JAR Packages
⇑⇑ FAQ for Apache Log4j
2015-12-14, 29564👍, 0💬
Popular Posts:
What Is resolver.jar in xml-commons Resolver 1.2? resolver.jar in xml-commons Resolver 1.2 is the JA...
JasperReports, the world's most popular open source business intelligence and reporting engine and J...
What Is javamail-1_2.zip? javamail-1_2.zip is the binary package of JavaMail API 1.2 in ZIP format. ...
JAX-WS is an API for building web services and clients. It is the next generation Web Services API r...
JDK 11 java.compiler.jmod is the JMOD file for JDK 11 Compiler module. JDK 11 Compiler module compil...