java - Log4j 最大字符串长度或 Java 字符串连接错误?

标签 java string log4j solaris

在 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/

相关文章:

Java:父类可以静态获取子类的类名吗?

java - 在 java 中,String 是一个类,那么它是如何限制大小分配的

java - ClassLoader加载的两个类,不能互相调用

javascript - 获得第一个单词在位置 0 和其他单词在位置 1 的数组作为输出的最佳方法?

java - 使用 Java 和 RegEx 转换字符串中的大小写

java - 在这种情况下日志记录是如何发生的

java - 为什么我在使用 Google App Engine 上的 JDO 的查询中会遇到转换错误?

string - 在 Swift 中检查字符串值

java - 为什么 PDF 文件需要 LOG4J 和 SLF4J?为什么 .Doc 文件不需要?

java - Log4j 中带日期的文件名