Index: core/logging/src/main/java/com/sun/enterprise/server/logging/UniformLogFormatter.java =================================================================== --- core/logging/src/main/java/com/sun/enterprise/server/logging/UniformLogFormatter.java (revision 45202) +++ core/logging/src/main/java/com/sun/enterprise/server/logging/UniformLogFormatter.java (working copy) @@ -205,13 +205,32 @@ } if (obj instanceof Map) { for (Map.Entry entry : ((Map) obj).entrySet()) { - buf.append(entry.getKey().toString()).append(NV_SEPARATOR). - append(entry.getValue().toString()). - append(NVPAIR_SEPARATOR); + // there are implementations that allow keys... + if(entry.getKey() != null) { + buf.append(entry.getKey().toString()); + } else { + buf.append("null"); + } + + buf.append(NV_SEPARATOR); + + // also handle values... + if(entry.getValue() != null) { + buf.append(entry.getValue().toString()); + } else { + buf.append("null"); + } + buf.append(NVPAIR_SEPARATOR); } } else if (obj instanceof java.util.Collection) { for (Object entry : ((Collection) obj)) { - buf.append(entry.toString()).append(NVPAIR_SEPARATOR); + // handle null values (remember the specs)... + if(entry != null) { + buf.append(entry.toString()); + } else { + buf.append("null"); + } + buf.append(NVPAIR_SEPARATOR); } // } else { // buf.append(obj.toString()).append(NVPAIR_SEPARATOR);