Author: thomas.diesler(a)jboss.com
Date: 2007-12-20 04:26:55 -0500 (Thu, 20 Dec 2007)
New Revision: 5364
Modified:
common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogHandler.java
common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogManager.java
Log:
Fix jboss log level
Modified: common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogHandler.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogHandler.java 2007-12-20
09:25:39 UTC (rev 5363)
+++ common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogHandler.java 2007-12-20
09:26:55 UTC (rev 5364)
@@ -21,6 +21,8 @@
*/
package org.jboss.wsf.common.log;
+// $Id$
+
import java.util.logging.ErrorManager;
import java.util.logging.Handler;
import java.util.logging.Level;
@@ -35,12 +37,11 @@
*
* @author Alessio Soldano, <alessio.soldano(a)javalinux.it>
* @author Stefano Maestri, <stefano.maestri(a)javalinux.it>
+ * @author Thomas.Diesler(a)jboss.com
* @since 14-Jun-2007
- *
*/
public class JBossLogHandler extends Handler
{
-
public JBossLogHandler()
{
super.setFormatter(new SimpleFormatter());
@@ -49,11 +50,50 @@
@Override
public void publish(LogRecord record)
{
- if (!isLoggable(record))
+ if (isLoggable(record))
{
- return;
+ Logger logger = getJBossLogger(record);
+ Level level = record.getLevel();
+ if (level == Level.FINER || level == Level.FINEST)
+ {
+ String msg = getMessage(record);
+ logger.trace(msg);
+ }
+ else if (level == Level.FINE)
+ {
+ String msg = getMessage(record);
+ logger.debug(msg);
+ }
+ else if (level == Level.INFO || level == Level.CONFIG)
+ {
+ String msg = getMessage(record);
+ logger.info(msg);
+ }
+ else if (level == Level.WARNING)
+ {
+ String msg = getMessage(record);
+ logger.warn(msg);
+ }
+ else if (level == Level.SEVERE)
+ {
+ String msg = getMessage(record);
+ logger.error(msg);
+ }
+ else if (level == Level.OFF)
+ {
+ // do nothing
+ }
}
- String msg;
+ }
+
+ private Logger getJBossLogger(LogRecord record)
+ {
+ return Logger.getLogger(record.getLoggerName());
+ }
+
+ private String getMessage(LogRecord record)
+ {
+ String msg = null;
try
{
msg = getFormatter().formatMessage(record);
@@ -62,46 +102,38 @@
{
// We don't want to throw an exception here, but we
// report the exception to any registered ErrorManager.
- reportError(null, ex, ErrorManager.FORMAT_FAILURE);
- return;
+ reportError("Cannot obtain message from log record", ex,
ErrorManager.FORMAT_FAILURE);
}
- if (record.getLevel() == Level.INFO)
+ return msg;
+ }
+
+ @Override
+ public boolean isLoggable(LogRecord record)
+ {
+ Logger logger = getJBossLogger(record);
+ Level level = record.getLevel();
+
+ boolean isLoggable = false;
+ if (level == Level.FINER || level == Level.FINEST)
{
- Logger.getLogger(record.getSourceClassName()).info(msg);
+ isLoggable = logger.isTraceEnabled();
}
- else if (record.getLevel() == Level.SEVERE)
+ else if (level == Level.FINE)
{
- Logger.getLogger(record.getSourceClassName()).error(msg);
+ isLoggable = logger.isDebugEnabled();
}
- else if (record.getLevel() == Level.WARNING)
+ else if (level == Level.INFO || level == Level.CONFIG)
{
- Logger.getLogger(record.getSourceClassName()).warn(msg);
+ isLoggable = logger.isInfoEnabled();
}
- else if (record.getLevel() == Level.FINE)
+ else if (level == Level.SEVERE || level == Level.WARNING)
{
- Logger.getLogger(record.getSourceClassName()).debug(msg);
+ isLoggable = true;
}
- else if (record.getLevel() == Level.FINER || record.getLevel() == Level.FINEST)
- {
- Logger.getLogger(record.getSourceClassName()).trace(msg);
- }
- else
- {
- Logger.getLogger(record.getSourceClassName()).debug(msg);
- }
+ return isLoggable;
}
@Override
- public boolean isLoggable(LogRecord record)
- {
- if (record == null)
- {
- return false;
- }
- return super.isLoggable(record);
- }
-
- @Override
public void flush()
{
//nothing to do
Modified: common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogManager.java
===================================================================
--- common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogManager.java 2007-12-20
09:25:39 UTC (rev 5363)
+++ common/trunk/src/main/java/org/jboss/wsf/common/log/JBossLogManager.java 2007-12-20
09:26:55 UTC (rev 5364)
@@ -41,17 +41,30 @@
Logger logger = super.getLogger(name);
if (logger == null)
logger = new JBossLogger(name);
-
+
logger.addHandler(new JBossLogHandler());
return logger;
}
-
+
static class JBossLogger extends Logger
{
protected JBossLogger(String name)
{
super(name, null);
- setLevel(Level.FINEST);
+
+ org.jboss.logging.Logger jbl = org.jboss.logging.Logger.getLogger(name);
+ if (jbl.isTraceEnabled())
+ {
+ setLevel(Level.FINEST);
+ }
+ else if (jbl.isDebugEnabled())
+ {
+ setLevel(Level.FINE);
+ }
+ else if (jbl.isInfoEnabled())
+ {
+ setLevel(Level.INFO);
+ }
}
}
}
\ No newline at end of file
Show replies by date