diff options
author | Greg Wilkins | 2015-09-25 02:45:46 +0000 |
---|---|---|
committer | Greg Wilkins | 2015-09-25 02:45:46 +0000 |
commit | dcb4c0d0a8ecb2d198977334b8b6a8c6180359b5 (patch) | |
tree | b0dca840c0b6a9c1809937f678ffa24840b218ca /jetty-util/src/main/java | |
parent | 3e242bef1645a84f002b835de174123be2ca564c (diff) | |
download | org.eclipse.jetty.project-dcb4c0d0a8ecb2d198977334b8b6a8c6180359b5.tar.gz org.eclipse.jetty.project-dcb4c0d0a8ecb2d198977334b8b6a8c6180359b5.tar.xz org.eclipse.jetty.project-dcb4c0d0a8ecb2d198977334b8b6a8c6180359b5.zip |
478372 - JavaUtilLog setSourceClass and setSourceMethod
Diffstat (limited to 'jetty-util/src/main/java')
-rw-r--r-- | jetty-util/src/main/java/org/eclipse/jetty/util/log/JavaUtilLog.java | 77 |
1 files changed, 62 insertions, 15 deletions
diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/log/JavaUtilLog.java b/jetty-util/src/main/java/org/eclipse/jetty/util/log/JavaUtilLog.java index c079fd4955..53b28165e3 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/log/JavaUtilLog.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/log/JavaUtilLog.java @@ -19,6 +19,7 @@ package org.eclipse.jetty.util.log; import java.util.logging.Level; +import java.util.logging.LogRecord; /** * <p> @@ -26,12 +27,29 @@ import java.util.logging.Level; * </p> * * <p> - * You can also set the logger level using <a href="http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html"> + * You can also set the logger level using <a href="http://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html"> * standard java.util.logging configuration</a>. * </p> + * + * Configuration Properties: + * <dl> + * <dt>org.eclipse.jetty.util.log.javautil.SOURCE=(true|false)</dt> + * <dd>Set the LogRecord source class and method for JavaUtilLog.<br> + * Default: true + * </dd> + * <dt>org.eclipse.jetty.util.log.SOURCE=(true|false)</dt> + * <dd>Set the LogRecord source class and method for all Loggers.<br> + * Default: depends on Logger class + * </dd> + * </dl> */ public class JavaUtilLog extends AbstractLogger { + private final static String THIS_CLASS= JavaUtilLog.class.getName(); + private final static boolean __source = + Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.SOURCE", + Log.__props.getProperty("org.eclipse.jetty.util.log.javautil.SOURCE","true"))); + private Level configuredLevel; private java.util.logging.Logger _logger; @@ -47,6 +65,8 @@ public class JavaUtilLog extends AbstractLogger { _logger.setLevel(Level.FINE); } + + configuredLevel = _logger.getLevel(); } @@ -55,36 +75,63 @@ public class JavaUtilLog extends AbstractLogger return _logger.getName(); } + protected void log(Level level,String msg,Throwable thrown) + { + LogRecord record = new LogRecord(level,msg); + if (thrown!=null) + record.setThrown(thrown); + record.setLoggerName(_logger.getName()); + if (__source) + { + StackTraceElement[] stack = new Throwable().getStackTrace(); + for (int i=0;i<stack.length;i++) + { + StackTraceElement e=stack[i]; + if (!e.getClassName().equals(THIS_CLASS)) + { + record.setSourceClassName(e.getClassName()); + record.setSourceMethodName(e.getMethodName()); + break; + } + } + } + _logger.log(record); + } + public void warn(String msg, Object... args) { if (_logger.isLoggable(Level.WARNING)) - _logger.log(Level.WARNING,format(msg,args)); + log(Level.WARNING,format(msg,args),null); } public void warn(Throwable thrown) { - warn("", thrown); + if (_logger.isLoggable(Level.WARNING)) + log(Level.WARNING,"",thrown); } public void warn(String msg, Throwable thrown) { - _logger.log(Level.WARNING, msg, thrown); + if (_logger.isLoggable(Level.WARNING)) + log(Level.WARNING,msg,thrown); } public void info(String msg, Object... args) { if (_logger.isLoggable(Level.INFO)) - _logger.log(Level.INFO, format(msg, args)); + log(Level.INFO, format(msg, args),null); } public void info(Throwable thrown) { - info("", thrown); + if (_logger.isLoggable(Level.INFO)) + log(Level.INFO, "",thrown); } public void info(String msg, Throwable thrown) { - _logger.log(Level.INFO, msg, thrown); + if (_logger.isLoggable(Level.INFO)) + log(Level.INFO,msg,thrown); } public boolean isDebugEnabled() @@ -108,23 +155,25 @@ public class JavaUtilLog extends AbstractLogger public void debug(String msg, Object... args) { if (_logger.isLoggable(Level.FINE)) - _logger.log(Level.FINE,format(msg, args)); + log(Level.FINE,format(msg, args),null); } public void debug(String msg, long arg) { if (_logger.isLoggable(Level.FINE)) - _logger.log(Level.FINE,format(msg, arg)); + log(Level.FINE,format(msg, arg),null); } public void debug(Throwable thrown) { - debug("", thrown); + if (_logger.isLoggable(Level.FINE)) + log(Level.FINE,"",thrown); } public void debug(String msg, Throwable thrown) { - _logger.log(Level.FINE, msg, thrown); + if (_logger.isLoggable(Level.FINE)) + log(Level.FINE,msg,thrown); } /** @@ -137,10 +186,8 @@ public class JavaUtilLog extends AbstractLogger public void ignore(Throwable ignored) { - if (Log.isIgnored()) - { - warn(Log.IGNORED, ignored); - } + if (_logger.isLoggable(Level.WARNING)) + log(Level.WARNING,Log.IGNORED,ignored); } private String format(String msg, Object... args) |