1 /********************************************************************************
2 * DDTUnit, a Datadriven Approach to Unit- and Moduletesting
3 * Copyright (c) 2004, Joerg and Kai Gellien
4 * All rights reserved.
5 *
6 * The Software is provided under the terms of the Common Public License 1.0
7 * as provided with the distribution of DDTUnit in the file cpl-v10.html.
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * + Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * + Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution.
19 *
20 * + Neither the name of the authors or DDTUnit, nor the
21 * names of its contributors may be used to endorse or promote
22 * products derived from this software without specific prior
23 * written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
29 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 ********************************************************************************/
37 package junitx.ddtunit;
38
39 import java.net.URL;
40
41 import junitx.ddtunit.util.DDTConfiguration;
42
43 /**
44 * DDTLogger containing all log specific extensions of DDTUnit project
45 *
46 * @author jg
47 */
48 public final class InternalLogger {
49 private static InternalLogger singleton;
50
51 /**
52 * Private Constructor for project logger instance
53 *
54 */
55 private InternalLogger() {
56 URL logURL = this.getClass().getResource(
57 DDTConfiguration.getInstance().getLog4jConfigResource());
58 // Logger root = Logger.getRootLogger();
59 // boolean rootIsConfigured = root.getAllAppenders().hasMoreElements();
60 // if (!rootIsConfigured) {
61 // Logger.getInstance("junitx.ddtunit").setLevel(Level.OFF);
62 // }
63 if (logURL != null) {
64 // try{
65 // Class.forName("org.apache.log4j.PropertyConfigurator");
66 // PropertyConfigurator.configure(logURL);
67 // }catch (Exception ex){
68 // // just ignore if no log4j found
69 // }
70 }
71 }
72
73 /**
74 * Instanciate project Logger as singleton
75 *
76 * @return singleton instance
77 */
78 public static InternalLogger getInstance() {
79 if (singleton == null) {
80 singleton = new InternalLogger();
81 }
82 return singleton;
83 }
84
85 }