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/jmx/AbstractDynamicMBean.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.jmx; import java.util.Enumeration; import java.util.Iterator; import java.util.Vector; import javax.management.Attribute; import javax.management.AttributeList; import javax.management.DynamicMBean; import javax.management.InstanceAlreadyExistsException; import javax.management.InstanceNotFoundException; import javax.management.JMException; import javax.management.MBeanRegistration; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; import javax.management.RuntimeOperationsException; import org.apache.log4j.Logger; import org.apache.log4j.Appender; public abstract class AbstractDynamicMBean implements DynamicMBean, MBeanRegistration { String dClassName; MBeanServer server; private final Vector mbeanList = new Vector(); /** * Get MBean name. * @param appender appender, may not be null. * @return name. * @since 1.2.16 */ static protected String getAppenderName(final Appender appender){ String name = appender.getName(); if (name == null || name.trim().length() == 0) { // try to get some form of a name, because null is not allowed (exception), and empty string certainly isn't useful in JMX.. name = appender.toString(); } return name; } /** * Enables the to get the values of several attributes of the Dynamic MBean. */ public AttributeList getAttributes(String[] attributeNames) { // Check attributeNames is not null to avoid NullPointerException later on if (attributeNames == null) { throw new RuntimeOperationsException( new IllegalArgumentException("attributeNames[] cannot be null"), "Cannot invoke a getter of " + dClassName); } AttributeList resultList = new AttributeList(); // if attributeNames is empty, return an empty result list if (attributeNames.length == 0) return resultList; // build the result attribute list for (int i=0 ; i<attributeNames.length ; i++){ try { Object value = getAttribute((String) attributeNames[i]); resultList.add(new Attribute(attributeNames[i],value)); } catch (JMException e) { e.printStackTrace(); } catch (RuntimeException e) { e.printStackTrace(); } } return(resultList); } /** * Sets the values of several attributes of the Dynamic MBean, and returns the * list of attributes that have been set. */ public AttributeList setAttributes(AttributeList attributes) { // Check attributes is not null to avoid NullPointerException later on if (attributes == null) { throw new RuntimeOperationsException( new IllegalArgumentException("AttributeList attributes cannot be null"), "Cannot invoke a setter of " + dClassName); } AttributeList resultList = new AttributeList(); // if attributeNames is empty, nothing more to do if (attributes.isEmpty()) return resultList; // for each attribute, try to set it and add to the result list if successfull for (Iterator i = attributes.iterator(); i.hasNext();) { Attribute attr = (Attribute) i.next(); try { setAttribute(attr); String name = attr.getName(); Object value = getAttribute(name); resultList.add(new Attribute(name,value)); } catch(JMException e) { e.printStackTrace(); } catch(RuntimeException e) { e.printStackTrace(); } } return(resultList); } protected abstract Logger getLogger(); public void postDeregister() { getLogger().debug("postDeregister is called."); } public void postRegister(java.lang.Boolean registrationDone) { } public ObjectName preRegister(MBeanServer server, ObjectName name) { getLogger().debug("preRegister called. Server="+server+ ", name="+name); this.server = server; return name; } /** * Registers MBean instance in the attached server. Must <em>NOT</em> * be called before registration of this instance. */ protected void registerMBean(Object mbean, ObjectName objectName) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException { server.registerMBean(mbean, objectName); mbeanList.add(objectName); } /** * Performs cleanup for deregistering this MBean. Default implementation * unregisters MBean instances which are registered using * {@link #registerMBean(Object mbean, ObjectName objectName)}. */ public void preDeregister() { getLogger().debug("preDeregister called."); Enumeration iterator = mbeanList.elements(); while (iterator.hasMoreElements()) { ObjectName name = (ObjectName) iterator.nextElement(); try { server.unregisterMBean(name); } catch (InstanceNotFoundException e) { getLogger().warn("Missing MBean " + name.getCanonicalName()); } catch (MBeanRegistrationException e) { getLogger().warn("Failed unregistering " + name.getCanonicalName()); } } } }
⏎ org/apache/log4j/jmx/AbstractDynamicMBean.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, 51434👍, 0💬
Popular Posts:
What Is log4j-1.2.15.jar? I got the JAR file from apache-log4j-1.2.15.zip. log4j-1.2.15.jar is the v...
Swingx is the SwingLabs Swing Component Extensions. JAR File Size and Download Location: File name: ...
xml-commons Resolver Source Code Files are provided in the source package file, xml-commons-resolver...
The Apache FontBox library is an open source Java tool to obtain low level information from font fil...
What Is poi-contrib-3.5.jar? poi-contrib-3.5.jar is one of the JAR files for Apache POI 3.5, which p...