logback和jansi一起使用,为什么会抛异常?

我在使用logback和jansi在控制台打印字符串时,会抛出异常。操作系统是window10。

maven依赖

<dependencies>
    <!-- 日志工具 -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.7</version>
    </dependency>

    <dependency>
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>1.9</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>utf8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <contextName>拽拽坏人帮</contextName>
    <!--输出到控制台 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%highlight(%cn) %red(%d{hh:MM:ss}) %green([%20logger{0}]) - %cyan(%message%n)</pattern>
        </encoder>
        <withJansi>true</withJansi>
    </appender>

    <logger name="com.cck.MyLogback">
        <appender-ref ref="STDOUT" />
    </logger>

    <root level="debug"></root>
</configuration>

代码

package com.cck;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyLogback {

    private final static Logger logger
        = LoggerFactory.getLogger("com.cck.MyLogback");

    public static void main(String[] args) {
        logger.info("hello world");
    }
}

控制台异常信息

clipboard.png

按照官网文档,给Eclipse安装了 ANSI in Eclipse Console 插件后还是不能解决问题。

阅读 5.6k
1 个回答

发现去掉 <withJansi>true</withJansi> 就没问题了,而且打印时颜色也是对的。 还是不明白为什么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进