View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.classic.jul;
15  
16  import ch.qos.logback.classic.Level;
17  import ch.qos.logback.classic.Logger;
18  
19  public class JULHelper {
20  
21      static public final boolean isRegularNonRootLogger(java.util.logging.Logger julLogger) {
22          if (julLogger == null)
23              return false;
24          return !julLogger.getName().equals("");
25      }
26  
27      static public final boolean isRoot(java.util.logging.Logger julLogger) {
28          if (julLogger == null)
29              return false;
30          return julLogger.getName().equals("");
31      }
32  
33      static public java.util.logging.Level asJULLevel(Level lbLevel) {
34          if (lbLevel == null)
35              throw new IllegalArgumentException("Unexpected level [null]");
36  
37          switch (lbLevel.levelInt) {
38          case Level.ALL_INT:
39              return java.util.logging.Level.ALL;
40          case Level.TRACE_INT:
41              return java.util.logging.Level.FINEST;
42          case Level.DEBUG_INT:
43              return java.util.logging.Level.FINE;
44          case Level.INFO_INT:
45              return java.util.logging.Level.INFO;
46          case Level.WARN_INT:
47              return java.util.logging.Level.WARNING;
48          case Level.ERROR_INT:
49              return java.util.logging.Level.SEVERE;
50          case Level.OFF_INT:
51              return java.util.logging.Level.OFF;
52          default:
53              throw new IllegalArgumentException("Unexpected level [" + lbLevel + "]");
54          }
55      }
56  
57      static public String asJULLoggerName(String loggerName) {
58          if (Logger.ROOT_LOGGER_NAME.equals(loggerName))
59              return "";
60          else
61              return loggerName;
62      }
63  
64      static public java.util.logging.Logger asJULLogger(String loggerName) {
65          String julLoggerName = asJULLoggerName(loggerName);
66          return java.util.logging.Logger.getLogger(julLoggerName);
67      }
68  
69      static public java.util.logging.Logger asJULLogger(Logger logger) {
70          return asJULLogger(logger.getName());
71      }
72  
73  }