Skip to content

Commit db1ba78

Browse files
authored
add commons-logging build (rabbitmq#130)
1 parent 0198457 commit db1ba78

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

src/main/java/com/alipay/sofa/common/log/Constants.java

+7
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,13 @@ public interface Constants {
6464

6565
// disable log4j bridge to commons logging
6666
String LOG4J_COMMONS_LOGGING_MIDDLEWARE_LOG_DISABLE_PROP_KEY = "log4j.commons.logging.middleware.log.disable";
67+
68+
boolean LOG4J_COMMONS_LOGGING_MIDDLEWARE_LOG_DISABLE = Boolean.TRUE
69+
.toString()
70+
.equalsIgnoreCase(
71+
System
72+
.getProperty(LOG4J_COMMONS_LOGGING_MIDDLEWARE_LOG_DISABLE_PROP_KEY));
73+
6774
// disable log4j space factory
6875
String LOG4J_MIDDLEWARE_LOG_DISABLE_PROP_KEY = "log4j.middleware.log.disable";
6976

src/main/java/com/alipay/sofa/common/log/MultiAppLoggerSpaceManager.java

+18
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.alipay.sofa.common.log.adapter.level.AdapterLevel;
2020
import com.alipay.sofa.common.log.env.LogEnvUtils;
2121
import com.alipay.sofa.common.log.factory.AbstractLoggerSpaceFactory;
22+
import com.alipay.sofa.common.log.factory.LoggerSpaceFactory4CommonsLoggingBuilder;
2223
import com.alipay.sofa.common.log.factory.LoggerSpaceFactory4Log4j2Builder;
2324
import com.alipay.sofa.common.log.factory.LoggerSpaceFactory4Log4jBuilder;
2425
import com.alipay.sofa.common.log.factory.LoggerSpaceFactory4LogbackBuilder;
@@ -319,6 +320,23 @@ private static AbstractLoggerSpaceFactory createILoggerFactory(SpaceId spaceId,
319320
spaceClassloader);
320321
}
321322
}
323+
324+
// DO not delete this, this is used in multi-classloader scenario for compatibility of commons-logging
325+
if (LOG4J_COMMONS_LOGGING_MIDDLEWARE_LOG_DISABLE) {
326+
ReportUtil.reportWarn("Log4j-Sofa-Middleware-Log(commons-logging) is disabled! -D"
327+
+ LOG4J_COMMONS_LOGGING_MIDDLEWARE_LOG_DISABLE_PROP_KEY + "=true");
328+
} else {
329+
if (LogEnvUtils.isCommonsLoggingUsable(spaceClassloader)) {
330+
ReportUtil.reportDebug("Actual binding is of type [ " + spaceId.toString()
331+
+ " Log4j (Adapter commons-logging to slf4j)]");
332+
333+
LoggerSpaceFactoryBuilder loggerSpaceFactory4Log4jBuilder = new LoggerSpaceFactory4CommonsLoggingBuilder(
334+
spaceId, logSpace);
335+
return loggerSpaceFactory4Log4jBuilder.build(spaceId.getSpaceName(),
336+
spaceClassloader);
337+
}
338+
}
339+
322340
ReportUtil.reportWarn("[" + spaceId.toString() + "] No log util is usable, Default app logger will be used.");
323341
} catch (Throwable e) {
324342
ReportUtil.reportError("[" + spaceId.toString() + "] Build ILoggerFactory error! Default app logger will be used.",

src/main/java/com/alipay/sofa/common/log/factory/LoggerSpaceFactory4CommonsLoggingBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
*/
1717
package com.alipay.sofa.common.log.factory;
1818

19+
import com.alipay.sofa.common.log.LogSpace;
1920
import com.alipay.sofa.common.space.SpaceId;
20-
import com.alipay.sofa.common.log.SpaceInfo;
2121
import com.alipay.sofa.common.log.adapter.level.AdapterLevel;
2222
import org.apache.log4j.Hierarchy;
2323
import org.apache.log4j.Level;
@@ -40,7 +40,7 @@
4040
*/
4141
public class LoggerSpaceFactory4CommonsLoggingBuilder extends AbstractLoggerSpaceFactoryBuilder {
4242

43-
public LoggerSpaceFactory4CommonsLoggingBuilder(SpaceId spaceId, SpaceInfo spaceInfo) {
43+
public LoggerSpaceFactory4CommonsLoggingBuilder(SpaceId spaceId, LogSpace spaceInfo) {
4444
super(spaceId, spaceInfo);
4545
}
4646

0 commit comments

Comments
 (0)