The version of Apache log4j used by SoundHelix.
Clone
HTTPS:
git clone https://vervis.peers.community/repos/aEp6o
SSH:
git clone USERNAME@vervis.peers.community:aEp6o
Branches
Tags
- 1.3alpha-7
- CHAINSAW_2_SANDBOX_MERGE
- CORE_VERSION
- LEVEL_REPLACES_PRIORITY
- PREALPHA_1_3_AS_OF_2004_05_12
- PRE_CHAINSAW_MODEL_CONVERSION
- PRE_UGLI_MOVE
- TAG_CHAINSAW2_MOVE
- log4j-1.2.17
- log4j-1.2.17-rc1
- v1.3alpha8
- v1.3alpha8-temp
- v1_2_1
- v1_2_10-recalled
- v1_2_11
- v1_2_11_rc1
- v1_2_11rc3
- v1_2_12
- v1_2_12_rc1
- v1_2_12_rc2
- v1_2_12_rc3
- v1_2_12_rc4
- v1_2_12_rc5
- v1_2_12_rc6
- v1_2_13
- v1_2_13_rc1
- v1_2_13_rc2
- v1_2_13_site_update
- v1_2_14
- v1_2_14_maven
- v1_2_14_rc1
- v1_2_14_site_update
- v1_2_15
- v1_2_15_rc1
- v1_2_15_rc2
- v1_2_15_rc3
- v1_2_15_rc4
- v1_2_15_rc5
- v1_2_15_rc6
- v1_2_16
- v1_2_16_rc1
- v1_2_16_rc2
- v1_2_17
- v1_2_17-rc1
- v1_2_17_rc1
- v1_2_17_rc2
- v1_2_17_rc3
- v1_2_2
- v1_2_3
- v1_2_4
- v1_2_6
- v1_2_7
- v1_2_9
- v1_2_alpha0
- v1_2_alpha7
- v1_2beta1
- v1_2final
- v1_3alpha_1
- v1_3alpha_6
- v_1_0
- v_1_0_1
- v_1_0_4
- v_1_1
- v_1_1_1
- v_1_1_2
- v_1_1_3
- v_1_1_b1
- v_1_1b2
- v_1_1b3
- v_1_1b5
- v_1_1b6
- v_1_1b7
- v_1_2beta3
ChainsawAppender.java
/*
* Copyright 1999,2004 The Apache Software Foundation.
*
* Licensed 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.chainsaw;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.apache.log4j.Appender;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.helpers.Constants;
import org.apache.log4j.helpers.OptionConverter;
import org.apache.log4j.spi.LoggingEvent;
/**
* ChainsawAppender receives LoggingEvents from the local
* Log4J environment, and appends them into a model that
* can be used inside a Swing GUI
* @author Paul Smith
* @version 1.0
*/
public class ChainsawAppender
extends AppenderSkeleton{
private Appender appender;
/**
* The in-JVM singleton instance of the ChainsawAppender.
*
* If somehow Log4j initialises more than one, then the first one to
* initialise wins!
*/
private static ChainsawAppender sSharedAppender = null;
/**
* The classname of the viewer to create to view the events.
*/
private String viewerClassname;
private String hostname = "localhost";
private String application = "app";
/**
* Constructor, initialises the singleton instance of the appender
*/
public ChainsawAppender() {
synchronized (ChainsawAppender.class) {
if (sSharedAppender == null) {
sSharedAppender = this;
}
}
}
/**
* Return the singleton instance of the ChainsawAppender, it should only
* be initialised once.
* @return the One and only instance of the ChainsawAppender that is
* allowed to be referenced by the GUI
*/
static ChainsawAppender getInstance() {
return sSharedAppender;
}
/**
* This appender does not require layout and so return false
* @return false and only false
*/
public boolean requiresLayout() {
return false;
}
public Appender getAppender() {
return appender;
}
public void setAppender(Appender appender) {
this.appender = appender;
}
/**
* Appends the event
* @param aEvent the LoggingEvent to append
*/
protected void append(LoggingEvent aEvent) {
if (hostname != null) {
aEvent.setProperty(Constants.HOSTNAME_KEY, hostname);
}
if (application != null) {
aEvent.setProperty(Constants.APPLICATION_KEY, application);
}
appender.doAppend(aEvent);
}
/**
* Instantiates and activates an instance of a ChainsawViewer
* to view the contents of this appender.
*/
public void activateOptions() {
if (viewerClassname == null) {
viewerClassname = "org.apache.log4j.chainsaw.DefaultViewer";
}
ChainsawViewer viewer =
(ChainsawViewer) OptionConverter.instantiateByClassName(viewerClassname,
ChainsawViewer.class, null);
if (viewer != null) {
viewer.activateViewer(this);
}
try {
hostname = InetAddress.getLocalHost().getHostName();
} catch (UnknownHostException uhe) {
try {
hostname = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException uhe2) {
}
}
}
/**
* Close does nothing
*/
public void close() {
}
/**
* Sets the viewer class to use to view the events. The class must
* implement the ChainsawViewer interface.
*
* @param classname The class name of the viewer class.
*/
public void setViewerClass(String classname) {
viewerClassname = classname;
}
/**
* Gets the viewer class to use to view the events.
*
* @return The class name of the viewer class.
*/
public String getViewerClass() {
return viewerClassname;
}
/**
* The <b>Application</b> option takes a string value which should be the
* name of the application getting logged
*/
public void setApplication(String lapp) {
this.application = lapp;
}
/**
* Returns value of the <b>Application</b> option.
*/
public String getApplication() {
return application;
}
}