blob: 5b92ff328ac72fe6254d11e7041462175c0e2538 [file] [log] [blame]
/* 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.test;
import org.apache.log4j.*;
import org.apache.log4j.spi.*;
//import org.apache.log4j.xml.examples.XPriority;
/**
This class is a shallow test of the various appenders and
layouts. It also tests their reading of the configuration file.
@author Ceki Gülcü
*/
public class FQCNTest {
//static Logger cat = Logger.getLogger("dddd");
public
static
void main(String argv[]) throws Exception {
if(argv.length == 1)
init(argv[0]);
else
usage("Wrong number of arguments.");
test();
}
static
void usage(String msg) {
System.err.println(msg);
System.err.println( "Usage: java "+ FQCNTest.class.getName()+"outputFile");
System.exit(1);
}
static
void init(String file) throws Exception {
Layout layout = new PatternLayout("%p %c (%C{2}#%M) - %m%n");
FileAppender appender = new FileAppender(layout, file, false);
appender.setLayout(layout);
Logger root = Logger.getRootLogger();
root.addAppender(appender);
}
static
void test() {
X1Logger x1 = X1Logger.getX1Logger("x1");
x1.debug("hello");
x1.debug1("hello");
x1.debug2("hello");
}
}
// ==========================================================================
// ==========================================================================
// ==========================================================================
class X1Logger extends Logger {
static String FQCN = X1Logger.class.getName() + ".";
private static X1LoggerFactory factory = new X1LoggerFactory();
public X1Logger(String name) {
super(name);
}
public
void debug1(Object message) {
super.log(FQCN, Priority.DEBUG, message + " world.", null);
}
public
void debug2(Object message) {
super.log(FQCN, Priority.DEBUG, message, null);
}
protected
String getFQCN() {
return X1Logger.FQCN;
}
public
static
X1Logger getX1Logger(String name) {
return ((X1Logger) Logger.getLogger(name, factory));
}
}
class X1LoggerFactory implements LoggerFactory {
public
X1LoggerFactory() {
}
public
Logger makeNewLoggerInstance(String name) {
return new X1Logger(name);
}
}