From 3995dfa7a327cd518f0e0bfa60c49c29b24436e0 Mon Sep 17 00:00:00 2001 From: wenshao Date: Mon, 3 Jun 2013 16:33:44 +0800 Subject: [PATCH] add log api --- .../druid/pool/DruidDataSourceStatLogger.java | 6 ++++++ .../pool/DruidDataSourceStatLoggerAdapter.java | 14 +++++++++++++- .../druid/pool/DruidDataSourceStatLoggerImpl.java | 14 ++++++++++++-- .../alibaba/druid/support/logging/SLF4JImpl.java | 6 +++--- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLogger.java b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLogger.java index bc42f5f400..f75c7e0415 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLogger.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLogger.java @@ -17,6 +17,8 @@ package com.alibaba.druid.pool; import java.util.Properties; +import com.alibaba.druid.support.logging.Log; + /** * @author wenshao * @since 0.2.19 @@ -30,4 +32,8 @@ public interface DruidDataSourceStatLogger { * @since 0.2.21 */ void configFromProperties(Properties properties); + + void setLogger(Log logger); + + void setLoggerName(String loggerName); } diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerAdapter.java b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerAdapter.java index 76df534148..e69560bdab 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerAdapter.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerAdapter.java @@ -17,12 +17,14 @@ package com.alibaba.druid.pool; import java.util.Properties; +import com.alibaba.druid.support.logging.Log; + /** * * @author wenshao * @since 0.2.21 */ -public abstract class DruidDataSourceStatLoggerAdapter implements DruidDataSourceStatLogger { +public class DruidDataSourceStatLoggerAdapter implements DruidDataSourceStatLogger { @Override public void log(DruidDataSourceStatValue statValue) { @@ -34,4 +36,14 @@ public abstract class DruidDataSourceStatLoggerAdapter implements DruidDataSourc } + @Override + public void setLogger(Log logger) { + + } + + @Override + public void setLoggerName(String loggerName) { + + } + } diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerImpl.java b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerImpl.java index 05c931c76d..2a4cd2d67d 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerImpl.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSourceStatLoggerImpl.java @@ -56,20 +56,30 @@ public class DruidDataSourceStatLoggerImpl extends DruidDataSourceStatLoggerAdap return logger; } + @Override public void setLoggerName(String loggerName) { logger = LogFactory.getLog(loggerName); } + @Override public void setLogger(Log logger) { if (logger == null) { throw new IllegalArgumentException("logger can not be null"); } this.logger = logger; } + + public boolean isLogEnable() { + return logger.isInfoEnabled(); + } + + public void log(String value) { + logger.info(value); + } @Override public void log(DruidDataSourceStatValue statValue) { - if (logger.isInfoEnabled()) { + if (isLogEnable()) { Map map = new LinkedHashMap(); map.put("url", statValue.url); @@ -225,7 +235,7 @@ public class DruidDataSourceStatLoggerImpl extends DruidDataSourceStatLoggerAdap String text = JSONUtils.toJSONString(map); - logger.info(text); + log(text); } } diff --git a/src/main/java/com/alibaba/druid/support/logging/SLF4JImpl.java b/src/main/java/com/alibaba/druid/support/logging/SLF4JImpl.java index 0b4e56fa53..b9e6b4a32e 100644 --- a/src/main/java/com/alibaba/druid/support/logging/SLF4JImpl.java +++ b/src/main/java/com/alibaba/druid/support/logging/SLF4JImpl.java @@ -35,10 +35,10 @@ public class SLF4JImpl implements Log { private int infoCount; private LocationAwareLogger log; - public SLF4JImpl(Class clazz){ - this.log = (LocationAwareLogger) LoggerFactory.getLogger(clazz); + public SLF4JImpl(LocationAwareLogger log){ + this.log = log; } - + public SLF4JImpl(String loggerName){ this.log = (LocationAwareLogger) LoggerFactory.getLogger(loggerName); }