You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/09/21 18:35:16 UTC
git commit: Move method back to UuidUtil.
Repository: logging-log4j2
Updated Branches:
refs/heads/master f9b9f97c6 -> b0f655e1e
Move method back to UuidUtil.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b0f655e1
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b0f655e1
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b0f655e1
Branch: refs/heads/master
Commit: b0f655e1e713210d19378762514cdda2e8e040f5
Parents: f9b9f97
Author: Matt Sicker <ma...@apache.org>
Authored: Sun Sep 21 11:35:18 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Sun Sep 21 11:35:18 2014 -0500
----------------------------------------------------------------------
.../logging/log4j/core/util/NetUtils.java | 39 ---------------
.../logging/log4j/core/util/UuidUtil.java | 50 +++++++++++++++++++-
2 files changed, 49 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0f655e1/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
index 46e16ce..c2d1a8f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NetUtils.java
@@ -71,43 +71,4 @@ public final class NetUtils {
}
}
- /**
- * Returns the local network interface's MAC address if possible. The local network interface is defined here as
- * the {@link NetworkInterface} that is both up and not a loopback interface.
- *
- * @return the MAC address of the local network interface or {@code null} if no MAC address could be determined.
- * @since 2.1
- */
- public static byte[] getLocalMacAddress() {
- byte[] mac = null;
- try {
- final InetAddress localHost = InetAddress.getLocalHost();
- try {
- final NetworkInterface localInterface = NetworkInterface.getByInetAddress(localHost);
- if (isUpAndNotLoopback(localInterface)) {
- mac = localInterface.getHardwareAddress();
- }
- if (mac == null) {
- final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
- while (networkInterfaces.hasMoreElements() && mac == null) {
- final NetworkInterface nic = networkInterfaces.nextElement();
- if (isUpAndNotLoopback(nic)) {
- mac = nic.getHardwareAddress();
- }
- }
- }
- } catch (final SocketException e) {
- LOGGER.catching(e);
- }
- if (mac == null || mac.length == 0) {
- mac = localHost.getAddress();
- }
- } catch (final UnknownHostException ignored) {
- }
- return mac;
- }
-
- private static boolean isUpAndNotLoopback(final NetworkInterface ni) throws SocketException {
- return ni != null && !ni.isLoopback() && ni.isUp();
- }
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b0f655e1/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
index 9bed752..a163ff7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
@@ -16,12 +16,19 @@
*/
package org.apache.logging.log4j.core.util;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.security.SecureRandom;
+import java.util.Enumeration;
import java.util.Random;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.PropertiesUtil;
/**
@@ -29,6 +36,7 @@ import org.apache.logging.log4j.util.PropertiesUtil;
* less than 10,000 IDs are generated per millisecond on the same device (as identified by its MAC address).
*/
public final class UuidUtil {
+ private static final Logger LOGGER = StatusLogger.getLogger();
/**
* System property that may be used to seed the UUID generation with an integer value.
*/
@@ -60,7 +68,7 @@ public final class UuidUtil {
private static final int HUNDRED_NANOS_PER_MILLI = 10000;
static {
- byte[] mac = NetUtils.getLocalMacAddress();
+ byte[] mac = getLocalMacAddress();
final Random randomGenerator = new SecureRandom();
if (mac == null || mac.length == 0) {
mac = new byte[6];
@@ -144,5 +152,45 @@ public final class UuidUtil {
final long most = timeLow | timeMid | TYPE1 | timeHi;
return new UUID(most, least);
}
+
+ /**
+ * Returns the local network interface's MAC address if possible. The local network interface is defined here as
+ * the {@link java.net.NetworkInterface} that is both up and not a loopback interface.
+ *
+ * @return the MAC address of the local network interface or {@code null} if no MAC address could be determined.
+ * @since 2.1
+ */
+ private static byte[] getLocalMacAddress() {
+ byte[] mac = null;
+ try {
+ final InetAddress localHost = InetAddress.getLocalHost();
+ try {
+ final NetworkInterface localInterface = NetworkInterface.getByInetAddress(localHost);
+ if (isUpAndNotLoopback(localInterface)) {
+ mac = localInterface.getHardwareAddress();
+ }
+ if (mac == null) {
+ final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
+ while (networkInterfaces.hasMoreElements() && mac == null) {
+ final NetworkInterface nic = networkInterfaces.nextElement();
+ if (isUpAndNotLoopback(nic)) {
+ mac = nic.getHardwareAddress();
+ }
+ }
+ }
+ } catch (final SocketException e) {
+ LOGGER.catching(e);
+ }
+ if (mac == null || mac.length == 0) {
+ mac = localHost.getAddress();
+ }
+ } catch (final UnknownHostException ignored) {
+ }
+ return mac;
+ }
+
+ private static boolean isUpAndNotLoopback(final NetworkInterface ni) throws SocketException {
+ return ni != null && !ni.isLoopback() && ni.isUp();
+ }
}