1. Project Clover database Mon Dec 22 2025 14:59:38 CST
  2. Package org.europa.together.application

File LogbackLogger.java

 

Coverage histogram

../../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

16
43
6
1
105
80
18
0.42
7.17
6
3

Classes

Class Line # Actions
LogbackLogger 14 43 0% 18 5
0.923076992.3%
 

Contributing tests

This file is covered by 457 tests. .

Source view

1    package org.europa.together.application;
2   
3    import java.io.File;
4    import java.util.Arrays;
5    import org.europa.together.business.Logger;
6    import org.europa.together.domain.LogLevel;
7    import org.europa.together.utils.Constraints;
8    import org.slf4j.LoggerFactory;
9   
10    /**
11    * Implementation of the Logger as Wrapper for SLF4j and logback Framework.
12    */
13    //@Repository
 
14    public class LogbackLogger implements Logger {
15   
16    private static final long serialVersionUID = 1L;
17    private final String configurationFile = Constraints.SYSTEM_APP_DIR + "/logback.xml";
18    private Class<?> instance = null;
19    private org.slf4j.Logger logger = null;
20   
21    /**
22    * Create an instance of the logging class. THe configuration file will be
23    * searched in the Directory, where the application is running.<br>
24    *
25    * see: org/europa/together/configuration/logback.xml If is no configuration
26    * present at this position, the logger use the default configuration in the
27    * classpath, with the console appender.
28    *
29    * @param instance The instance of the logged CLASS
30    */
 
31  70 toggle public LogbackLogger(final Class<?> instance) {
32  70 this.instance = instance;
33   
34    //FALLBACK
35  70 if (new File(configurationFile).exists()) {
36  1 System.setProperty("configurationFile", configurationFile);
37    }
38    }
39   
 
40  6151 toggle @Override
41    public LogLevel log(final String message, final LogLevel level) {
42  6151 instanceLogger();
43  6151 switch (level) {
44  252 case TRACE:
45  252 logger.trace(message);
46  252 break;
47  5536 case DEBUG:
48  5536 logger.debug(message);
49  5536 break;
50  206 case INFO:
51  206 logger.info(message);
52  206 break;
53  136 case WARN:
54  136 logger.warn(message);
55  136 break;
56  20 default:
57  20 logger.error(message);
58  20 break;
59    }
60  6150 return level;
61    }
62   
 
63  1 toggle public String getLoggerName() {
64  1 return logger.getName();
65    }
66   
 
67  1 toggle @Override
68    public LogLevel getConfiguredLogLevel() {
69  1 instanceLogger();
70  1 LogLevel level = null;
71  1 if (logger.isErrorEnabled()) {
72  1 level = LogLevel.ERROR;
73    }
74  1 if (logger.isWarnEnabled()) {
75  1 level = LogLevel.WARN;
76    }
77  1 if (logger.isInfoEnabled()) {
78  1 level = LogLevel.INFO;
79    }
80  1 if (logger.isDebugEnabled()) {
81  1 level = LogLevel.DEBUG;
82    }
83  1 if (logger.isTraceEnabled()) {
84  1 level = LogLevel.TRACE;
85    }
86  1 return level;
87    }
88   
 
89  59 toggle @Override
90    public String catchException(final Exception ex) {
91  59 instanceLogger();
92  59 String exceptionType = ex.getClass().getSimpleName();
93  59 logger.error(exceptionType + ": " + ex.getMessage());
94  59 if (exceptionType.equals("NullPointerException")) {
95  17 logger.error(Arrays.toString(ex.getStackTrace()));
96    }
97  59 return ex.getMessage();
98    }
99   
 
100  6211 toggle private void instanceLogger() {
101  6211 if (logger == null) {
102  65 logger = LoggerFactory.getILoggerFactory().getLogger(instance.getName());
103    }
104    }
105    }