首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在log4j2中禁用ANSI转义(颜色日志)

如何在log4j2中禁用ANSI转义(颜色日志)
EN

Stack Overflow用户
提问于 2014-04-14 18:45:48
回答 2查看 3.4K关注 0票数 1

我的应用程序包含jruby,它包含jansi.jar和用于ANSI转义的本机库。

当log4j2注意到类路径中的jansi.jar时,它尝试初始化ANSI转义日志记录。但我不想要任何颜色的原木。那么,如何配置log4j2以避免颜色日志?

这是我的模式表达式:

%d{yyyy}t%d{HH:mm:ss,SSS} %水平{length=1} %-20t %-30F %m%xEx{short}%n

EN

回答 2

Stack Overflow用户

发布于 2014-04-15 19:46:58

根据Log4j2手册,这个着色特性是使用模式中的highlightstyle关键字启用的,因此您的日志不应该使用ANSI颜色,因为您的模式不包含这样的关键字。你确定你在这里给出的图案是用于你的附件的吗?

您是否尝试过用%style{...}{Normal}包围您的模式以强制默认样式,即使ANSI转义模式是打开的?比如:

代码语言:javascript
复制
%style{%d{yyyy-MM-dd}T%d{HH:mm:ss,SSS} %level{length=1} %-20t %-30F %m%xEx{short}%n}{Normal}

不过,您可能会对本手册的说明感兴趣:

基于Windows的ANSI造型 ANSI转义序列在许多平台上都是本机支持的,但在Windows上却不是默认的。要启用ANSI支持,只需将Jansi添加到您的应用程序中,Log4j将在写入控制台时自动使用它。

请注意,如果您的进程没有附加控制台,Log4j2 RC1现在不再自动使用ANSI转义(在beta版本中是一个bug ):https://issues.apache.org/jira/browse/LOG4J2-413

票数 1
EN

Stack Overflow用户

发布于 2014-05-09 18:25:30

我解决了这个问题。我用的是STDOUT的一篇文章,它使用ConsoleAppender。在2.0-rc1版本的ConsoleAppender L120内核jar中,log4j2查找jansi库。为了解决这个问题,我关闭了控制台日志记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23067826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档