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
LoggingEvent.java
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software
* License version 1.1, a copy of which has been included with this
* distribution in the LICENSE.APL file. */
package org.apache.log4j.spi;
import org.apache.log4j.Category;
import org.apache.log4j.Priority;
import org.apache.log4j.NDC;
import org.apache.log4j.helpers.LogLog;
import java.io.StringWriter;
import java.io.PrintWriter;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
// Contributors: Nelson Minar <nelson@monkey.org>
// Wolf Siberski
/**
The internal representation of logging events. When a affirmative
logging decision is made a <code>LoggingEvent</code> instance is
created. This instance is passed around the different log4j
components.
<p>This class is of concern to those wishing to extend log4j.
@author Ceki Gülcü
@author <a href=mailto:jim_cakalic@na.biomerieux.com>Jim Cakalic</a>
@since 0.8.2 */
public class LoggingEvent implements java.io.Serializable {
private static long startTime = System.currentTimeMillis();
///** Category of logging event. Can not be shipped to remote hosts. */
//transient public Category category;
/** Fully qualified name of the calling category class. */
transient public String fqnOfCategoryClass;
/** The category name. */
public String categoryName;
/** Priority of logging event. Priority cannot be serializable
because it is a flyweight.
*/
transient public Priority priority;
/** The nested diagnostic context (NDC) of logging event. */
public String ndc;
/** Have we tried to do an NDC lookup? If we did, there is no need
to do it again. Note that its value is always false when
serialized. Thus, a receiving SocketNode will never use it's own
(incorrect) NDC. See also writeObject method. */
public boolean ndcLookupRequired = true;
/** The application supplied message of logging event. */
public String message;
/** The name of thread in which this logging event was generated. */
public String threadName;
/** The throwable associated with this logging event.
This is field is transient because not all exception are
serializable. More importantly, the stack information does not
survive serialization.
*/
transient public Throwable throwable;
/** This variable collects the info on a throwable. This variable
will be shipped to
*/
public String throwableInformation;
/** The number of milliseconds elapsed from 1/1/1970 until logging event
was created. */
public long timeStamp;
/** Location information for the caller. */
public LocationInfo locationInfo;
// Damn serialization
static final long serialVersionUID = -868428216207166145L;
/**
Instantiate a LoggingEvent from the supplied parameters.
<p>Except {@link #timeStamp} all the other fields of
<code>LoggingEvent</code> are filled when actually needed.
<p>
@param category The category of this event.
@param priority The priority of this event.
@param message The message of this event.
@param throwable The throwable of this event. */
public LoggingEvent(String fqnOfCategoryClass, Category category,
Priority priority, String message, Throwable throwable) {
this.fqnOfCategoryClass = fqnOfCategoryClass;
this.categoryName = category.getName();
this.priority = priority;
this.message = message;
this.throwable = throwable;
timeStamp = System.currentTimeMillis();
}
/**
Returns the time when the application started, in milliseconds
elapsed since 01.01.1970. */
public
static
long getStartTime() {
return startTime;
}
public
String getNDC() {
if(ndcLookupRequired) {
ndcLookupRequired = false;
ndc = NDC.get();
}
return ndc;
}
public
String getThreadName() {
if(threadName == null)
threadName = (Thread.currentThread()).getName();
return threadName;
}
public
String getThrowableInformation() {
if(throwable == null) {
return null;
}
if(throwableInformation == null ) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
throwable.printStackTrace(pw);
throwableInformation = sw.toString();
}
return throwableInformation;
}
private
void writeObject(ObjectOutputStream oos) throws java.io.IOException {
// Aside from returning the current thread name the wgetThreadName
// method sets the threadName variable.
this.getThreadName();
// This call has a side effect of setting this.ndc and
// setting ndcLookupRequired to false if not already false.
this.getNDC();
// This sets the throwableInformation variable to the stack trace
// of the throwable variable.
this.getThrowableInformation();
oos.defaultWriteObject();
oos.writeInt(priority.toInt());
}
private void readObject(ObjectInputStream ois)
throws java.io.IOException, ClassNotFoundException {
ois.defaultReadObject();
priority = Priority.toPriority(ois.readInt());
// Make sure that no location info is available to Layouts
if(locationInfo == null)
locationInfo = new LocationInfo(null, null);
}
/**
Set the location information for this logging event. The collected
information is cached for future use.
*/
public
void setLocationInformation() {
if(locationInfo == null) {
locationInfo = new LocationInfo(new Throwable(), fqnOfCategoryClass);
}
}
}