在 Solaris 10 上运行时,当我使用 Apache Log4j 记录器命中 LOG.debug 语句时遇到问题。以下代码块演示了基本场景:
public class MyClass {
private static final Logger LOG = Logger.getLogger(MyClass.class.getName());
private LinkedHashMap<String, String> myMap =
new LinkedHashMap<String, String>();
public static void main(String[] args) {
// A really long String, but certainly not exceeding 2^31 - 1 characters
//long
String reallyLongString = "A really, really, really...long String";
String key = "keyToReallyLongString";
// When this line is executed, Solaris instantly and completely logs me off
// of the system
LOG.debug("Adding to myMap[" + key + "]: " + reallyLongString);
}
}
有什么想法吗?
最佳答案
如果您有任何类型的进程限制,您可能会遇到它们。通过进行字符串连接,您将至少使用 (reallyLongString.length() + key.length()) * 2
字节。如果这足以让你突破极限……
关于java - Log4j 最大字符串长度或 Java 字符串连接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2125430/