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/Loader.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 java.net.URL; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; import java.io.InterruptedIOException; /** Load resources (or images) from various sources. @author Ceki Gülcü */ public class Loader { static final String TSTR = "Caught Exception while in Loader.getResource. This may be innocuous."; // We conservatively assume that we are running under Java 1.x static private boolean java1 = true; static private boolean ignoreTCL = false; static { String prop = OptionConverter.getSystemProperty("java.version", null); if(prop != null) { int i = prop.indexOf('.'); if(i != -1) { if(prop.charAt(i+1) != '1') java1 = false; } } String ignoreTCLProp = OptionConverter.getSystemProperty("log4j.ignoreTCL", null); if(ignoreTCLProp != null) { ignoreTCL = OptionConverter.toBoolean(ignoreTCLProp, true); } } /** * Get a resource by delegating to getResource(String). * @param resource resource name * @param clazz class, ignored. * @return URL to resource or null. * @deprecated as of 1.2. */ public static URL getResource(String resource, Class clazz) { return getResource(resource); } /** This method will search for <code>resource</code> in different places. The search order is as follows: <ol> <p><li>Search for <code>resource</code> using the thread context class loader under Java2. If that fails, search for <code>resource</code> using the class loader that loaded this class (<code>Loader</code>). Under JDK 1.1, only the the class loader that loaded this class (<code>Loader</code>) is used. <p><li>Try one last time with <code>ClassLoader.getSystemResource(resource)</code>, that is is using the system class loader in JDK 1.2 and virtual machine's built-in class loader in JDK 1.1. </ol> */ static public URL getResource(String resource) { ClassLoader classLoader = null; URL url = null; try { if(!java1 && !ignoreTCL) { classLoader = getTCL(); if(classLoader != null) { LogLog.debug("Trying to find ["+resource+"] using context classloader " +classLoader+"."); url = classLoader.getResource(resource); if(url != null) { return url; } } } // We could not find resource. Ler us now try with the // classloader that loaded this class. classLoader = Loader.class.getClassLoader(); if(classLoader != null) { LogLog.debug("Trying to find ["+resource+"] using "+classLoader +" class loader."); url = classLoader.getResource(resource); if(url != null) { return url; } } } catch(IllegalAccessException t) { LogLog.warn(TSTR, t); } catch(InvocationTargetException t) { if (t.getTargetException() instanceof InterruptedException || t.getTargetException() instanceof InterruptedIOException) { Thread.currentThread().interrupt(); } LogLog.warn(TSTR, t); } catch(Throwable t) { // // can't be InterruptedException or InterruptedIOException // since not declared, must be error or RuntimeError. LogLog.warn(TSTR, t); } // Last ditch attempt: get the resource from the class path. It // may be the case that clazz was loaded by the Extentsion class // loader which the parent of the system class loader. Hence the // code below. LogLog.debug("Trying to find ["+resource+ "] using ClassLoader.getSystemResource()."); return ClassLoader.getSystemResource(resource); } /** Are we running under JDK 1.x? */ public static boolean isJava1() { return java1; } /** * Get the Thread Context Loader which is a JDK 1.2 feature. If we * are running under JDK 1.1 or anything else goes wrong the method * returns <code>null<code>. * * */ private static ClassLoader getTCL() throws IllegalAccessException, InvocationTargetException { // Are we running on a JDK 1.2 or later system? Method method = null; try { method = Thread.class.getMethod("getContextClassLoader", null); } catch (NoSuchMethodException e) { // We are running on JDK 1.1 return null; } return (ClassLoader) method.invoke(Thread.currentThread(), null); } /** * If running under JDK 1.2 load the specified class using the * <code>Thread</code> <code>contextClassLoader</code> if that * fails try Class.forname. Under JDK 1.1 only Class.forName is * used. * */ static public Class loadClass (String clazz) throws ClassNotFoundException { // Just call Class.forName(clazz) if we are running under JDK 1.1 // or if we are instructed to ignore the TCL. if(java1 || ignoreTCL) { return Class.forName(clazz); } else { try { return getTCL().loadClass(clazz); } // we reached here because tcl was null or because of a // security exception, or because clazz could not be loaded... // In any case we now try one more time catch(InvocationTargetException e) { if (e.getTargetException() instanceof InterruptedException || e.getTargetException() instanceof InterruptedIOException) { Thread.currentThread().interrupt(); } } catch(Throwable t) { } } return Class.forName(clazz); } }
⏎ org/apache/log4j/helpers/Loader.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, 62642👍, 0💬
Popular Posts:
JRE 8 deploy.jar is the JAR file for JRE 8 Java Control Panel and other deploy tools. JRE (Java Runt...
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...
How to read XML document with DTD validation from socket connections with the socket\DelayedInput.ja.. .
Where to find answers to frequently asked questions on Downloading and Using JDK (Java Development K...
Swingx is the SwingLabs Swing Component Extensions. JAR File Size and Download Location: File name: ...