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
ConsoleAppender.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;
import java.io.OutputStreamWriter;
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.OptionConverter;
/**
ConsoleAppender appends log events to <code>System.out</code> or
<code>System.err</code> using a layout specified by the
user. The default target is <code>System.out</code>.
@author Ceki Gülcü
@since 1.1 */
public class ConsoleAppender extends WriterAppender {
public static final String SYSTEM_OUT = "System.out";
public static final String SYSTEM_ERR = "System.err";
/**
@deprecated Options are now handled using the JavaBeans paradigm.
This constant is not longer needed and will be removed in the
<em>near</em> term.
*/
public static final String TARGET_OPTION = "Target";
protected String target = SYSTEM_OUT;
/**
The default constructor does nothing.
*/
public ConsoleAppender() {
}
public ConsoleAppender(Layout layout) {
this(layout, SYSTEM_OUT);
}
public ConsoleAppender(Layout layout, String target) {
this.layout = layout;
if (SYSTEM_OUT.equals(target)) {
setWriter(new OutputStreamWriter(System.out));
} else if (SYSTEM_ERR.equalsIgnoreCase(target)) {
setWriter(new OutputStreamWriter(System.err));
} else {
targetWarn(target);
}
}
/**
Sets the value of the <b>Target</b> option.
@param value String identifying a console; recognized values are
"System.err" (default) and "System.out"
*/
public
void setTarget(String value) {
String v = value.trim();
if (SYSTEM_OUT.equalsIgnoreCase(v)) {
target = SYSTEM_OUT;
} else if (SYSTEM_ERR.equalsIgnoreCase(v)) {
target = SYSTEM_ERR;
} else {
targetWarn(value);
}
}
/** Returns the current value of the <b>Target</b> option. */
public
String getTarget() {
return target;
}
void targetWarn(String val) {
LogLog.warn("["+val+"] should be one of System.out or System.err.");
LogLog.warn("Reverting to System.out.");
}
public
void activateOptions() {
if(target.equals(SYSTEM_OUT)) {
setWriter(new OutputStreamWriter(System.out));
} else {
setWriter(new OutputStreamWriter(System.err));
}
}
/**
Override the parent method to do nothing.
*/
protected
final
void closeWriter() {
}
/**
Retuns the option names for this component, namely the string
array {{@link #TARGET_OPTION} and the options of its super class
{@link WriterAppender}.
<b>See</b> Options of the super classes {@link WriterAppender} and
{@link AppenderSkeleton}. In particular the <b>Threshold</b>
option.
@deprecated We now use JavaBeans introspection to configure
components. Options strings are no longer needed.
*/
public
String[] getOptionStrings() {
return OptionConverter.concatanateArrays(super.getOptionStrings(),
new String[] {TARGET_OPTION});
}
/**
Set ConsoleAppender specific options.
The <b>Target</b> option is recognized on top of options
for the super class {@link WriterAppender}.
@deprecated Use the setter method for the option directly instead
of the generic <code>setOption</code> method.
*/
public
void setOption(String key, String value) {
if(value == null) return;
super.setOption(key, value);
if (key.equalsIgnoreCase(TARGET_OPTION)) {
String v = value.trim();
if(SYSTEM_OUT.equalsIgnoreCase(v)) {
target = SYSTEM_OUT;
} else {
if(!SYSTEM_ERR.equalsIgnoreCase(v)) {
targetWarn(value);
}
}
}
}
}