java – 如何在字符串数组中获取Logger值

前端之家收集整理的这篇文章主要介绍了java – 如何在字符串数组中获取Logger值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用log4j.Logger,并且我已经使用FileAppender将日志值写入文件.

现在我想在textarea中显示日志值.如何将记录器值分配给字符串数组?

解决方法

您可以向Logger添加一个附加的Appender.使用 WriterAppender写入一个StringWriter,然后将TextArea的内容更改为StringWriter#toString()的值,

示例代码

public static void main(String[] args) {
    Logger logger = Logger.getLogger("logger");
    Layout layout = new PatternLayout();
    StringWriter stringWriter = new StringWriter();
    WriterAppender writerAppender = new WriterAppender(layout,stringWriter);
    logger.addAppender(writerAppender);
    TextArea textArea = new TextArea();

    logger.error("test");
    //if(stringWriter changed){// compare to old TextArea-content?
      textArea.setText(stringWriter.toString());
    //}
    //System.out.println(stringWriter.toString());
  }

您需要找到一个智能的方式来更新您的TextArea,具体取决于logLevel,如果StringWriter的内容更改.

更新:提供可比较的解决方here.

猜你在找的Java相关文章