1
/* ========================================================================
2
* JCommon : a free general purpose class library for the Java(tm) platform
3
* ========================================================================
5
* (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
7
* Project Info: http://www.jfree.org/jcommon/index.html
9
* This library is free software; you can redistribute it and/or modify it
10
* under the terms of the GNU Lesser General Public License as published by
11
* the Free Software Foundation; either version 2.1 of the License, or
12
* (at your option) any later version.
14
* This library is distributed in the hope that it will be useful, but
15
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17
* License for more details.
19
* You should have received a copy of the GNU Lesser General Public
20
* License along with this library; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
24
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
25
* in the United States and other countries.]
27
* ---------------------
28
* DefaultLogModule.java
29
* ---------------------
30
* (C)opyright 2003, 2004, by Thomas Morgner and Contributors.
32
* Original Author: Thomas Morgner;
33
* Contributor(s): David Gilbert (for Object Refinery Limited);
35
* $Id: DefaultLogModule.java,v 1.6 2005/11/06 22:14:32 taqua Exp $
39
* 11-Jul-2003 : Initial version
40
* 07-Jun-2004 : Added JCommon header (DG);
44
package org.jfree.base.log;
46
import org.jfree.base.modules.AbstractModule;
47
import org.jfree.base.modules.ModuleInitializeException;
48
import org.jfree.base.modules.SubSystem;
49
import org.jfree.util.Log;
50
import org.jfree.util.PrintStreamLogTarget;
51
import org.jfree.util.ObjectUtilities;
52
import org.jfree.util.LogTarget;
55
* The module definition for the System.out-Logging. This is the
56
* default log implementation and is provided to insert the logging
57
* initialisation in the module loading process.
59
* @author Thomas Morgner
61
public class DefaultLogModule extends AbstractModule
64
* DefaultConstructor. Loads the module specification.
66
* @throws ModuleInitializeException if an error occured.
68
public DefaultLogModule() throws ModuleInitializeException
74
* Initalizes the module. This method initializes the logging system,
75
* if the System.out logtarget is selected.
77
* @param subSystem the sub-system.
79
* @throws ModuleInitializeException if an error occured.
81
public void initialize(final SubSystem subSystem) throws ModuleInitializeException
83
if (LogConfiguration.isDisableLogging())
87
if (LogConfiguration.getLogTarget().equals
88
(PrintStreamLogTarget.class.getName()))
90
DefaultLog.installDefaultLog();
91
Log.getInstance().addTarget(new PrintStreamLogTarget());
92
Log.info("Default log target started ... previous log messages could have been ignored.");
94
else if ("true".equals(subSystem.getGlobalConfig().getConfigProperty
95
("org.jfree.base.LogAutoInit")))
97
DefaultLog.installDefaultLog();
98
final LogTarget lt = (LogTarget) ObjectUtilities.loadAndInstantiate
99
(LogConfiguration.getLogTarget(), this.getClass());
100
Log.getInstance().addTarget(lt);