I prefer the way it works now. For equivalent functionality, one would need
to make two functions calls with two conditions to check. For instance:
<example.java>
InetAddress ipaddr = null;
String ipname = null;
ipaddr = InetAddress.getByName("jakarta.apache.org");
ipname = ipaddr.getHostName();
if (ipname.length() == 0) {
ipname = ipaddr.getHostAddress();
}
</example.java>
I don't know which would be faster, but I assume the two different calls
would have a greater cost without any investigation.
Jonathan Paul Cowherd
Linux and Java Administrator
Genscape, Inc.
Email: [EMAIL PROTECTED]
Office: (502) 583-3730
Mobile: (502) 314-0444
-----Original Message-----
From: Jonathan Cowherd [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 03, 2003 6:48 PM
To: '[EMAIL PROTECTED]'
Subject: log4j socket patch
I found a "bug" in the org.apache.log4j.net.SocketServer class.
If a machine only has an IP and no host name, the InetAddres.toString() call
only return "/D1.D2.D3.D4" which yields an empty string for String key =
s.substring(0,i) //where I is the index of the '/' in the returned string.
This patch will return the IP address to the 'key' variable so that you can
use IP addresses for conf files like 192.168.1.30.lcf . :)
It's been suggested that InetAddress has more functions that there could be
a better way of getting the host name. I'll investigate this weekend (from
first glance, InetAddress wasn't pretty to look at).
Jonathan Paul Cowherd
Linux and Java Administrator
Genscape, Inc.
Email: [EMAIL PROTECTED]
Office: (502) 583-3730
Mobile: (502) 314-0444
-----Original Message-----
From: Jonathan Cowherd [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 03, 2003 7:43 PM
To: [EMAIL PROTECTED]
Subject: log4j socket patch
--- SocketServerorig.java Fri Jan 3 19:42:08 2003
+++ SocketServer.java Fri Jan 3 19:42:08 2003
@@ -70,7 +70,7 @@
@since 1.0 */
-public class SocketServerorig {
+public class SocketServer {
static String GENERIC = "generic";
static String CONFIG_FILE_EXT = ".lcf";
@@ -143,7 +143,7 @@
public
- SocketServerorig(File directory) {
+ SocketServer(File directory) {
this.dir = directory;
hierarchyMap = new Hashtable(11);
}
@@ -161,7 +161,16 @@
"]. Using default hierarchy.");
return genericHierarchy();
} else {
- String key = s.substring(0, i);
+
+ String key = null;
+
+ // This will return the IP string if there is no host
+ name.
+
+ if (i == 0) {
+ key = s.substring(1);
+ } else {
+ key = s.substring(0, i);
+ }
File configFile = new File(dir, key + CONFIG_FILE_EXT);
if (configFile.exists()) {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>