Clover icon

Coverage Report

  1. Project Clover database Thu Aug 13 2020 12:04:21 BST
  2. Package jalview.javascript.log4j

File Logger.java

 

Coverage histogram

../../../img/srcFileCovDistChart0.png
56% of files have more coverage

Code metrics

12
66
15
1
194
146
39
0.59
4.4
15
2.6

Classes

Class Line # Actions
Logger 28 66 39
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.javascript.log4j;
22   
23    import jalview.javascript.log4j.spi.LoggingEvent;
24   
25    import java.util.Hashtable;
26    import java.util.Map;
27   
 
28    public class Logger
29    {
30   
31    private static Map<String, Logger> registry;
32   
33    private String name;
34   
35    private Level level;
36   
37    private boolean enabled = true;
38   
39    private boolean isEnabled;
40   
41    private Appender appender;
42   
 
43  0 toggle private Logger(String name)
44    {
45  0 this.name = name;
46    }
47   
 
48  0 toggle public static Logger getLogger(String name)
49    {
50  0 if (registry == null)
51    {
52  0 registry = new Hashtable<>();
53  0 getLogger("root");
54    }
55  0 Logger logger = registry.get(name);
56  0 if (logger == null)
57    {
58  0 registry.put(name, logger = new Logger(name));
59  0 logger.setLevel(Level.INFO);
60    }
61  0 return logger;
62    }
63   
 
64  0 toggle public static Logger getRootLogger()
65    {
66  0 return getLogger("root");
67    }
68   
 
69  0 toggle public void setLevel(Level l)
70    {
71  0 this.level = l;
72    }
73   
 
74  0 toggle public void addAppender(Appender appender)
75    {
76  0 this.appender = appender;
77    }
78   
 
79  0 toggle public boolean isDebugEnabled()
80    {
81  0 return isEnabled;
82    }
83   
 
84  0 toggle public void debug(Object o)
85    {
86  0 debug(o, null);
87    }
88   
 
89  0 toggle public void debug(Object o, Throwable e)
90    {
91  0 switch (level.level)
92    {
93  0 case Priority.FATAL_INT:
94  0 case Priority.ERROR_INT:
95  0 case Priority.WARN_INT:
96  0 case Priority.INFO_INT:
97  0 case Priority.DEBUG_INT:
98  0 log(o, e);
99  0 break;
100    }
101    }
102   
 
103  0 toggle public void info(Object o)
104    {
105  0 info(o, null);
106    }
107   
 
108  0 toggle public void info(Object o, Throwable e)
109    {
110  0 switch (level.level)
111    {
112  0 case Priority.FATAL_INT:
113  0 case Priority.ERROR_INT:
114  0 case Priority.WARN_INT:
115  0 case Priority.INFO_INT:
116  0 log(o, e);
117  0 break;
118    }
119   
120    }
121   
 
122  0 toggle public void warn(Object o)
123    {
124  0 warn(o, null);
125    }
126   
 
127  0 toggle public void warn(Object o, Throwable e)
128    {
129  0 switch (level.level)
130    {
131  0 case Priority.FATAL_INT:
132  0 case Priority.ERROR_INT:
133  0 case Priority.WARN_INT:
134  0 log(o, e);
135  0 break;
136    }
137   
138    }
139   
 
140  0 toggle public void error(Object o)
141    {
142  0 error(o, null);
143    }
144   
 
145  0 toggle public void error(Object o, Throwable e)
146    {
147  0 switch (level.level)
148    {
149  0 case Priority.FATAL_INT:
150  0 case Priority.ERROR_INT:
151  0 log(o, e);
152  0 break;
153    }
154   
155    }
156   
 
157  0 toggle private void log(Object s, Throwable e)
158    {
159  0 switch (level.level)
160    {
161  0 case Priority.ERROR_INT:
162  0 if (appender == null)
163    {
164  0 System.err.println(s);
165  0 return;
166    }
167  0 break;
168  0 case Priority.WARN_INT:
169  0 if (appender == null)
170    {
171  0 System.err.println(s);
172  0 return;
173    }
174  0 break;
175  0 case Priority.INFO_INT:
176  0 if (appender == null)
177    {
178  0 System.out.println(s);
179  0 return;
180    }
181  0 break;
182  0 case Priority.DEBUG_INT:
183  0 if (appender == null)
184    {
185  0 System.out.println(s);
186  0 return;
187    }
188  0 break;
189    }
190  0 e.printStackTrace();
191  0 appender.append(new LoggingEvent(this, s.toString(), level));
192    }
193   
194    }