View Javadoc
1   /*
2    * This file is part of Waarp Project (named also Waarp or GG).
3    *
4    *  Copyright (c) 2019, Waarp SAS, and individual contributors by the @author
5    *  tags. See the COPYRIGHT.txt in the distribution for a full listing of
6    * individual contributors.
7    *
8    *  All Waarp Project is free software: you can redistribute it and/or
9    * modify it under the terms of the GNU General Public License as published by
10   * the Free Software Foundation, either version 3 of the License, or (at your
11   * option) any later version.
12   *
13   * Waarp is distributed in the hope that it will be useful, but WITHOUT ANY
14   * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15   * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16   *
17   *  You should have received a copy of the GNU General Public License along with
18   * Waarp . If not, see <http://www.gnu.org/licenses/>.
19   */
20  
21  package org.waarp.common.logging;
22  
23  import ch.qos.logback.classic.Level;
24  import ch.qos.logback.classic.Logger;
25  
26  /**
27   * logger using SLF4J from LOGBACK
28   */
29  public class WaarpSlf4JLogger extends AbstractWaarpLogger {
30    private static final long serialVersionUID = -7588688826950608830L;
31    /**
32     * Internal logger
33     */
34    private final Logger logger;
35  
36    /**
37     * @param logger
38     */
39    public WaarpSlf4JLogger(final Logger logger) {
40      super(logger.getName());
41      this.logger = logger;
42    }
43  
44    @Override
45    public final void setLevel(final WaarpLogLevel level) {
46      switch (level) {
47        case TRACE:
48          logger.setLevel(Level.TRACE);
49          break;
50        case DEBUG:
51          logger.setLevel(Level.DEBUG);
52          break;
53        case INFO:
54          logger.setLevel(Level.INFO);
55          break;
56        case WARN:
57          logger.setLevel(Level.WARN);
58          break;
59        case ERROR:
60          logger.setLevel(Level.ERROR);
61          break;
62        case NONE:
63          logger.setLevel(Level.OFF);
64          break;
65      }
66    }
67  
68    @Override
69    public final boolean isTraceEnabled() {
70      return logger.isTraceEnabled();
71    }
72  
73    @Override
74    public final void junit(final int callee, final String msg) {
75      logger.warn(getLoggerMethodAndLineCallee(callee + 1) + msg);
76    }
77  
78    @Override
79    public final void trace(final String msg) {
80      if (logger.isTraceEnabled()) {
81        logger.trace(getLoggerMethodAndLine() + msg);
82      }
83    }
84  
85    @Override
86    public final void trace(final String format, final Object arg) {
87      if (logger.isTraceEnabled()) {
88        logger.trace(getLoggerMethodAndLine() + format, arg);
89      }
90    }
91  
92    @Override
93    public final void trace(final String format, final Object argA,
94                            final Object argB) {
95      if (logger.isTraceEnabled()) {
96        logger.trace(getLoggerMethodAndLine() + format, argA, argB);
97      }
98    }
99  
100   @Override
101   public final void trace(final String format, final Object... argArray) {
102     if (logger.isTraceEnabled()) {
103       logger.trace(getLoggerMethodAndLine() + format, argArray);
104     }
105   }
106 
107   @Override
108   public final void trace(final String msg, final Throwable t) {
109     if (logger.isTraceEnabled()) {
110       logger.trace(getLoggerMethodAndLine() + msg, t);
111     }
112   }
113 
114   @Override
115   public final boolean isDebugEnabled() {
116     return logger.isDebugEnabled();
117   }
118 
119   @Override
120   public final void debug(final String msg) {
121     if (logger.isDebugEnabled()) {
122       logger.debug(getLoggerMethodAndLine() + msg);
123     }
124   }
125 
126   @Override
127   public final void debug(final String format, final Object arg) {
128     if (logger.isDebugEnabled()) {
129       logger.debug(getLoggerMethodAndLine() + format, arg);
130     }
131   }
132 
133   @Override
134   public final void debug(final String format, final Object argA,
135                           final Object argB) {
136     if (logger.isDebugEnabled()) {
137       logger.debug(getLoggerMethodAndLine() + format, argA, argB);
138     }
139   }
140 
141   @Override
142   public final void debug(final String format, final Object... argArray) {
143     if (logger.isDebugEnabled()) {
144       logger.debug(getLoggerMethodAndLine() + format, argArray);
145     }
146   }
147 
148   @Override
149   public final void debug(final String msg, final Throwable t) {
150     if (logger.isDebugEnabled()) {
151       logger.debug(getLoggerMethodAndLine() + msg, t);
152     }
153   }
154 
155   @Override
156   public final boolean isInfoEnabled() {
157     return logger.isInfoEnabled();
158   }
159 
160   @Override
161   public final void info(final String msg) {
162     if (logger.isInfoEnabled()) {
163       logger.info(getLoggerMethodAndLine() + msg);
164     }
165   }
166 
167   @Override
168   public final void info(final String format, final Object arg) {
169     if (logger.isInfoEnabled()) {
170       logger.info(getLoggerMethodAndLine() + format, arg);
171     }
172   }
173 
174   @Override
175   public final void info(final String format, final Object argA,
176                          final Object argB) {
177     if (logger.isInfoEnabled()) {
178       logger.info(getLoggerMethodAndLine() + format, argA, argB);
179     }
180   }
181 
182   @Override
183   public final void info(final String format, final Object... argArray) {
184     if (logger.isInfoEnabled()) {
185       logger.info(getLoggerMethodAndLine() + format, argArray);
186     }
187   }
188 
189   @Override
190   public final void info(final String msg, final Throwable t) {
191     if (logger.isInfoEnabled()) {
192       logger.info(getLoggerMethodAndLine() + msg, t);
193     }
194   }
195 
196   @Override
197   public final boolean isWarnEnabled() {
198     return logger.isWarnEnabled();
199   }
200 
201   @Override
202   public final void warn(final String msg) {
203     if (logger.isWarnEnabled()) {
204       logger.warn(getLoggerMethodAndLine() + msg);
205     }
206   }
207 
208   @Override
209   public final void warn(final String format, final Object arg) {
210     if (logger.isWarnEnabled()) {
211       logger.warn(getLoggerMethodAndLine() + format, arg);
212     }
213   }
214 
215   @Override
216   public final void warn(final String format, final Object... argArray) {
217     if (logger.isWarnEnabled()) {
218       logger.warn(getLoggerMethodAndLine() + format, argArray);
219     }
220   }
221 
222   @Override
223   public final void warn(final String format, final Object argA,
224                          final Object argB) {
225     if (logger.isWarnEnabled()) {
226       logger.warn(getLoggerMethodAndLine() + format, argA, argB);
227     }
228   }
229 
230   @Override
231   public final void warn(final String msg, final Throwable t) {
232     if (logger.isWarnEnabled()) {
233       logger.warn(getLoggerMethodAndLine() + msg, t);
234     }
235   }
236 
237   @Override
238   public final boolean isErrorEnabled() {
239     return logger.isErrorEnabled();
240   }
241 
242   @Override
243   public final void error(final String msg) {
244     logger.error(getLoggerMethodAndLine() + msg);
245   }
246 
247   @Override
248   public final void error(final String format, final Object arg) {
249     logger.error(getLoggerMethodAndLine() + format, arg);
250   }
251 
252   @Override
253   public final void error(final String format, final Object argA,
254                           final Object argB) {
255     logger.error(getLoggerMethodAndLine() + format, argA, argB);
256   }
257 
258   @Override
259   public final void error(final String format, final Object... argArray) {
260     logger.error(getLoggerMethodAndLine() + format, argArray);
261   }
262 
263   @Override
264   public final void error(final String msg, final Throwable t) {
265     logger.error(getLoggerMethodAndLine() + msg, t);
266   }
267 }