Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot日志覆盖颜色_Java_Spring_Spring Boot_Log4j2 - Fatal编程技术网

Java Spring Boot日志覆盖颜色

Java Spring Boot日志覆盖颜色,java,spring,spring-boot,log4j2,Java,Spring,Spring Boot,Log4j2,我希望使用不同的颜色来区分Spring Ansi彩色日志中的信息、调试和跟踪,因为它们当前都设置为绿色(见下表) 从这里的文件 使用%clr转换字配置颜色编码。在最简单的形式中,转换器根据日志级别为输出着色,如下例所示: %clr(%5p) 下表描述了日志级别到颜色的映射: 水平仪 颜色 致命的 红色 错误 红色 警告 黄色的 信息 绿色 调试 绿色 痕迹 绿色 您可以使用GrepConsole插件(Idea)来实现它。 请参阅更多内容,我看不到任何常规/文档化的方法在某一级别范围内覆盖颜色。例

我希望使用不同的颜色来区分Spring Ansi彩色日志中的信息、调试和跟踪,因为它们当前都设置为绿色(见下表)

从这里的文件

使用
%clr
转换字配置颜色编码。在最简单的形式中,转换器根据日志级别为输出着色,如下例所示:

%clr(%5p)
下表描述了日志级别到颜色的映射:

水平仪 颜色 致命的 红色 错误 红色 警告 黄色的 信息 绿色 调试 绿色 痕迹 绿色
您可以使用GrepConsole插件(Idea)来实现它。
请参阅更多内容,我看不到任何常规/文档化的方法在某一级别范围内覆盖颜色。例如:对于log4j2,不希望为此类选项打开。
您可以尝试定义您的Log42颜色插件实现,这是一个插件实现,用log4j2
plugin
annotation注释:

@Plugin(name = "color", category = PatternConverter.CATEGORY)
但不确定它是否工作或工作可靠,因为Spring已经为此定义了一个。
记录在案的是

顺便说一句,如果足够的话,您可以从
控制台\u LOG\u模式开始定义一个模式

%clr{%d{{sys:LOG{DATEFORMAT{u PATTERN}}}{flue}%clr{{{sys:LOG{u LEVEL{u PATTERN}}%clr{%pid}{magenta}%clr{-}{flue}%clr{[%15.15t]}{flue}%clr{-40.40c{1.}%clr{cyan cyan 1.}%clr}%m:{flue}%n}%n}%n{LOG}

首先,定义的%clr是一个logback转换规则,并且是带有颜色逻辑的规则。 此转换规则在spring类中定义

在这里,我们可以看到spring在logback配置程序中添加了clr转换字

通过这次探索,我的结论是您必须创建自己的logback.xml文件(根据文档,它禁用了spring默认配置)。使用此文件,您可以添加自己的转换规则,如下所示:

<conversionRule conversionWord="nanos" 
              converterClass="chapters.layouts.MySampleConverter" />


之后,您应该使用上面创建的conversionWord而不是%clr来更改属性logging.pattern.console。

谢谢,这是一个很好的答案,不过我正在寻找一些可以在CLI级别工作的东西。ie.
java-jar xxxx.jar
不确定为什么log4j2 ColorConverter是最终版本,而logback不是最终版本,但是已经按照Springs自己的思路创建了一个新的实现,它的工作方式很有魅力。感谢这是好的,但不确定随着时间的推移是否可靠。我认为(可能是错的)你大概有50%的几率它可以工作(因为Spring可以选择任何一个声明颜色插件的log4j2插件:
@plugin(name=“color”,category=PatternConverter.category)
。这是你和他们的。你添加了什么来强制使用你的插件而不是他们的插件吗?是的,我添加了新的实现,使用了不同的插件名
sclr
,并调整了CONSOLE\u LOG\u模式来使用它。我本希望以某种方式重用现有的类,但大多数东西都是私有的,或者不是专门为它设计的没有太多可重复使用的东西。。
<conversionRule conversionWord="nanos" 
              converterClass="chapters.layouts.MySampleConverter" />