blob: 8b21c98e3f3dfb79c76649f1d9797c9447abdfbb [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.txt file.
*/
package examples.lf5.InitUsingXMLPropertiesFile;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
import java.io.IOException;
import java.net.URL;
/**
* This is another simple example of how to use the LogFactor5
* logging console.
*
* To make this example work, ensure that the lf5.jar, lf5-license.jar
* and example.xml files are in your classpath. Once your classpath has
* been set up, you can run the example from the command line.
*
* @author Brent Sprecher
*/
// Contributed by ThoughtWorks Inc.
public class InitUsingXMLPropertiesFile {
//--------------------------------------------------------------------------
// Constants:
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Protected Variables:
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Private Variables:
//--------------------------------------------------------------------------
private static Logger logger =
Logger.getLogger(InitUsingXMLPropertiesFile.class);
//--------------------------------------------------------------------------
// Constructors:
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Public Methods:
//--------------------------------------------------------------------------
public static void main(String argv[]) {
// Use a PropertyConfigurator to initialize from a property file.
String resource =
"/examples/lf5/InitUsingXMLPropertiesFile/example.xml";
URL configFileResource =
InitUsingXMLPropertiesFile.class.getResource(resource);
DOMConfigurator.configure(configFileResource.getFile());
// Add a bunch of logging statements ...
logger.debug("Hello, my name is Homer Simpson.");
logger.debug("Hello, my name is Lisa Simpson.");
logger.debug("Hello, my name is Marge Simpson.");
logger.debug("Hello, my name is Bart Simpson.");
logger.debug("Hello, my name is Maggie Simpson.");
logger.info("We are the Simpsons!");
logger.info("Mmmmmm .... Chocolate.");
logger.info("Homer likes chocolate");
logger.info("Doh!");
logger.info("We are the Simpsons!");
logger.warn("Bart: I am through with working! Working is for chumps!" +
"Homer: Son, I'm proud of you. I was twice your age before " +
"I figured that out.");
logger.warn("Mmm...forbidden donut.");
logger.warn("D'oh! A deer! A female deer!");
logger.warn("Truly, yours is a butt that won't quit." +
"- Bart, writing as Woodrow to Ms. Krabappel.");
logger.error("Dear Baby, Welcome to Dumpsville. Population: you.");
logger.error("Dear Baby, Welcome to Dumpsville. Population: you.",
new IOException("Dumpsville, USA"));
logger.error("Mr. Hutz, are you aware you're not wearing pants?");
logger.error("Mr. Hutz, are you aware you're not wearing pants?",
new IllegalStateException("Error !!"));
logger.fatal("Eep.");
logger.fatal("Mmm...forbidden donut.",
new SecurityException("Fatal Exception"));
logger.fatal("D'oh! A deer! A female deer!");
logger.fatal("Mmmmmm .... Chocolate.",
new SecurityException("Fatal Exception"));
}
//--------------------------------------------------------------------------
// Protected Methods:
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Private Methods:
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
// Nested Top-Level Classes or Interfaces:
//--------------------------------------------------------------------------
}