不懂代码的小白plus 2022-12-05 23:29 采纳率: 80%
浏览 44
已结题

如何在eclipse中将console中的内容显示在Jframe的文本框中?

img

  • 写回答

1条回答 默认 最新

  • Huazie 全栈领域优质创作者 2022-12-06 00:09
    关注

    是不是这样的效果?

    img

    示例参考:

    核心代码:

    // 定义一个未连接的输入流管道
    PipedReader reader = new PipedReader();
    // 定义一个已连接的输出流管理,并连接到reader
    Writer writer = new PipedWriter(reader)) {
    Logger root = Logger.getRootLogger();
    // 获取子记录器的输出源
    Appender appender = root.getAppender("myConsole");
    // 设置 appender 输出流
    ((WriterAppender) appender).setWriter(writer);
    
    // 然后使用 reader ,不停的从中获取数据
    // 不间断地扫描输入流
    Scanner scanner = new Scanner(reader);
    // 将扫描到的字符流输出到指定的JTextArea组件
    while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        textArea.append(line);
        textArea.append("\n");
    }
    

    需要定义 log4j.xml 配置, 输出日志以 logger.error 或 logger.debug 输出

    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d %-5p %t [%c:%L] - %m%n" />
            </layout>
            <!--过滤器设置输出的级别-->
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="levelMin" value="debug" />
                <param name="levelMax" value="error" />
                <param name="AcceptOnMatch" value="true" />
            </filter>
        </appender>
        
        <appender name="myFile" class="org.apache.log4j.RollingFileAppender">
            <!-- 设置日志输出文件名 -->
            <param name="File" value="E:/logs/flea-tools.log" />
            <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
            <param name="Append" value="true" />
            <param name="MaxBackupIndex" value="10" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d %-5p %t [%c:%L] - %m%n" />
            </layout>
        </appender>
        
        <logger name="org.springframework">
            <level value="WARN" />
            <appender-ref ref="myConsole" />
            <appender-ref ref="myFile"/>
        </logger>
        
        <logger name="org.hibernate">
            <level value="WARN" />
            <appender-ref ref="myConsole" />
            <appender-ref ref="myFile"/>
        </logger>
    
        <!-- -->
        <logger name="org.apache">
            <level value="WARN" />
            <appender-ref ref="myConsole" />
            <appender-ref ref="myFile"/>
        </logger>
        
        <!-- 根logger的设置--> 
        <root>
            <priority value="debug" />
            <appender-ref ref="myConsole" />
            <appender-ref ref="myFile"/>
        </root>
        
    </log4j:configuration>  
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月14日
  • 已采纳回答 12月6日
  • 创建了问题 12月5日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上