Package org.objectweb.util.monolog

Source Code of org.objectweb.util.monolog.TestMultipleLoggerFactory

/**
* Copyright (C) 2002
*/

package org.objectweb.util.monolog;

import org.objectweb.util.monolog.api.LoggerFactory;
import org.objectweb.util.monolog.api.HandlerFactory;
import org.objectweb.util.monolog.api.LevelFactory;
import org.objectweb.util.monolog.api.Logger;
import org.objectweb.util.monolog.api.BasicLevel;
import org.objectweb.util.monolog.file.monolog.PropertiesConfAccess;
import org.objectweb.util.monolog.wrapper.common.Configurable;

import java.util.Properties;
import java.io.FileInputStream;

/**
* This class checks if it possible to use two LoggerFactory instances
* @author Sebastien Chassande-Barrioz
*/
public class TestMultipleLoggerFactory {

  public static void main(String[] args) {
    if (args.length<4) {
      System.out.println("Usage: TestMultipleLoggerFactory "
        + "<logger factory class name A> "
        + "<properties file name A> "
        + "<logger factory class name B> "
        + "<properties file name B> "
        + "<order: A | B> ");
      System.exit(1);
    }
    LoggerFactory lfa = null;
    LoggerFactory lfb = null;
    try {
      lfa = (LoggerFactory) Class.forName(args[0]).newInstance();
      lfb = (LoggerFactory) Class.forName(args[2]).newInstance();

      Properties pa = new Properties();
      pa.load( new FileInputStream(args[1]) );

      Properties pb = new Properties();
      pb.load( new FileInputStream(args[3]) );

      if (args.length == 5 && args[4].equalsIgnoreCase("b") ) {
        PropertiesConfAccess.load(pa,
          lfa, (HandlerFactory) lfa, (LevelFactory) lfa);

        ((Configurable) lfb).configure(pb);
      }
      else {
        PropertiesConfAccess.load(pa,
        lfa, (HandlerFactory) lfa, (LevelFactory) lfa);

        ((Configurable) lfb).configure(pb);
      }

    }
    catch (Exception e) {
      e.printStackTrace();
      System.exit(1);
    }

    Logger la = lfa.getLogger("a");
    Logger lb = lfa.getLogger("b");
    la.log(BasicLevel.WARN, "Message 1 send by the logger A");
    la.log(BasicLevel.WARN, "Message 2 send by the logger A");
    la.log(BasicLevel.WARN, "Message 3 send by the logger A");
    lb.log(BasicLevel.WARN, "Message 1 send by the logger B");
    lb.log(BasicLevel.WARN, "Message 2 send by the logger B");
    lb.log(BasicLevel.WARN, "Message 3 send by the logger B");
    la = lfa.getLogger("a.c");
    la.log(BasicLevel.WARN, "Message 1 send by the logger A.C");
    la.log(BasicLevel.WARN, "Message 2 send by the logger A.C");
    la.log(BasicLevel.WARN, "Message 3 send by the logger A.C");
    lb = lfa.getLogger("b.d");
    lb.log(BasicLevel.WARN, "Message 1 send by the logger B.D");
    lb.log(BasicLevel.WARN, "Message 2 send by the logger B.D");
    lb.log(BasicLevel.WARN, "Message 3 send by the logger B.D");
  }


}
TOP

Related Classes of org.objectweb.util.monolog.TestMultipleLoggerFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.