mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
136 lines
4.9 KiB
Java
136 lines
4.9 KiB
Java
/*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The ASF licenses this file to You 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 examples.lf5.InitUsingDefaultConfigurator;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.apache.log4j.NDC;
|
|
import org.apache.log4j.lf5.DefaultLF5Configurator;
|
|
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* This class is a simple example of how to configure the LogFactor5
|
|
* logging window using the DefaultLF5Configurator.
|
|
*
|
|
* The DefaultLF5Configurator uses a default configuration file stored
|
|
* in the log4j.jar in order to provide a default configuration for
|
|
* the LF5Appender.
|
|
*
|
|
* @author Brent Sprecher
|
|
*/
|
|
|
|
// Contributed by ThoughtWorks Inc.
|
|
|
|
public class InitUsingDefaultConfigurator {
|
|
//--------------------------------------------------------------------------
|
|
// Constants:
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Protected Variables:
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Private Variables:
|
|
//--------------------------------------------------------------------------
|
|
private static Logger logger =
|
|
Logger.getLogger(InitUsingDefaultConfigurator.class);
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Constructors:
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Public Methods:
|
|
//--------------------------------------------------------------------------
|
|
|
|
public static void main(String[] args) throws IOException {
|
|
// Configure the LF5Appender using the DefaultLF5Configurator. This
|
|
// will add the LF5Appender to the root of the Category tree.
|
|
DefaultLF5Configurator.configure();
|
|
|
|
// Add an NDC to demonstrate how NDC information is output.
|
|
NDC.push("#23856");
|
|
// Log some information.
|
|
for (int i = 0; i < 10; i++) {
|
|
logger.debug("Hello, my name is Homer Simpson.");
|
|
logger.info("Mmmmmm .... Chocolate.");
|
|
logger.warn("Mmm...forbidden donut.");
|
|
}
|
|
// Clean up NDC
|
|
NDC.pop();
|
|
NDC.remove();
|
|
|
|
NDC.push("Another NDC");
|
|
// Log some information.
|
|
logger.fatal("Hello, my name is Bart Simpson.");
|
|
logger.error("Hi diddly ho good neighbour.");
|
|
// Clean up NDC
|
|
NDC.pop();
|
|
NDC.remove();
|
|
|
|
// Call methods on both classes.
|
|
InitUsingDefaultConfigurator.foo();
|
|
InnerInitUsingDefaultConfigurator.foo();
|
|
|
|
logger.info("Exiting InitUsingDefaultConfigurator.");
|
|
|
|
}
|
|
|
|
public static void foo() {
|
|
logger.debug("Entered foo in InitUsingDefaultConfigurator class");
|
|
|
|
NDC.push("#123456");
|
|
logger.debug("Hello, my name is Marge Simpson.");
|
|
logger.info("D'oh!! A deer! A female deer.");
|
|
// Clean up NDC
|
|
NDC.pop();
|
|
NDC.remove();
|
|
}
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Protected Methods:
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Private Methods:
|
|
//--------------------------------------------------------------------------
|
|
|
|
//--------------------------------------------------------------------------
|
|
// Nested Top-Level Classes or Interfaces:
|
|
//--------------------------------------------------------------------------
|
|
|
|
public static class InnerInitUsingDefaultConfigurator {
|
|
static Logger logger =
|
|
Logger.getLogger(InnerInitUsingDefaultConfigurator.class.getName());
|
|
|
|
static void foo() throws IOException {
|
|
// Configure the LF5Appender again. You can call
|
|
// DefaultLF5Configurator.configure() as often as you want
|
|
// without unexpected behavior.
|
|
DefaultLF5Configurator.configure();
|
|
|
|
logger.info("Entered foo in InnerInitUsingDefaultConfigurator class.");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|