You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2017/11/24 15:49:38 UTC
logging-log4j2 git commit: LOG4J2-2126 Removed compile-time
dependency on Java Management APIs from Log4J API module to improve
compatibility with Android Platform which does not support JMX extensions.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 211326b32 -> db6ef306c
LOG4J2-2126 Removed compile-time dependency on Java Management APIs from Log4J API module to improve compatibility with Android Platform which does not support JMX extensions.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/db6ef306
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/db6ef306
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/db6ef306
Branch: refs/heads/master
Commit: db6ef306c50fb2f1695d6d20f3dd180fbedb1a76
Parents: 211326b
Author: rpopma <rp...@apache.org>
Authored: Sat Nov 25 00:49:27 2017 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sat Nov 25 00:49:27 2017 +0900
----------------------------------------------------------------------
.../org/apache/logging/log4j/util/ProcessIdUtil.java | 13 +++++++++++--
src/changes/changes.xml | 5 +++++
2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/db6ef306/log4j-api/src/main/java/org/apache/logging/log4j/util/ProcessIdUtil.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProcessIdUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProcessIdUtil.java
index bce9415..685aabe 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProcessIdUtil.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProcessIdUtil.java
@@ -18,7 +18,7 @@ package org.apache.logging.log4j.util;
import java.io.File;
import java.io.IOException;
-import java.lang.management.ManagementFactory;
+import java.lang.reflect.Method;
/**
* @Since 2.9
@@ -29,7 +29,16 @@ public class ProcessIdUtil {
public static String getProcessId() {
try {
- return ManagementFactory.getRuntimeMXBean().getName().split("@")[0]; // likely works on most platforms
+ // LOG4J2-2126 use reflection to improve compatibility with Android Platform which does not support JMX extensions
+ Class<?> managementFactoryClass = Class.forName("java.lang.management.ManagementFactory");
+ Method getRuntimeMXBean = managementFactoryClass.getDeclaredMethod("getRuntimeMXBean");
+ Class<?> runtimeMXBeanClass = Class.forName("java.lang.management.RuntimeMXBean");
+ Method getName = runtimeMXBeanClass.getDeclaredMethod("getName");
+
+ Object runtimeMXBean = getRuntimeMXBean.invoke(null);
+ String name = (String) getName.invoke(runtimeMXBean);
+ //String name = ManagementFactory.getRuntimeMXBean().getName(); //JMX not allowed on Android
+ return name.split("@")[0]; // likely works on most platforms
} catch (final Exception ex) {
try {
return new File("/proc/self").getCanonicalFile().getName(); // try a Linux-specific way
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/db6ef306/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 6328706..a75f52b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -30,6 +30,11 @@
- "update" - Change
- "remove" - Removed
-->
+ <release version="2.10.1" date="2017-xx-xx" description="GA Release 2.10.1">
+ <action issue="LOG4J2-2126" dev="rpopma" type="fix" due-to="Oleg Kalnichevski">
+ Removed compile-time dependency on Java Management APIs from Log4J API module to improve compatibility with Android Platform which does not support JMX extensions.
+ </action>
+ </release>
<release version="2.10.0" date="2017-11-18" description="GA Release 2.10.0">
<action issue="LOG4J2-2120" dev="mikes" type="add" due-to="Carter Douglas Kozak ">
Properly escape newlines and other control characters in JSON.