1条回答 默认 最新
关注
是不是这样的效果?
示例参考:
核心代码:
// 定义一个未连接的输入流管道 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>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录