目前
org.springframework.boot.logging.logback.ColorConverter
不支持“明亮”颜色,尽管AnsiColor
包含所有这些颜色的代码。作为一个非常老的班级,我觉得原因很简单,就是没有人更新可用的颜色,但我可能是错的,可能有理由禁止这些颜色
[spring-projects/spring-boot]将“明亮”的 AnsiColor 变体添加到 Logback 和 Log4J ColorConverters
回答
感谢您的建议,但我们不会对其进行任何增强,AnsiColors
因为它已在 3.0 中删除。
尽管我们删除了AnsiColors
,但我们仍然保留AnsiColor
并支持 Logback 和 Log4J2 中的颜色代码。我认为ColorConverter
如果有人愿意贡献课程,我们可以考虑对课程进行更新。
哎呀。感谢您发现这一点,@philwebb。
也许这太不相关了,但恕我直言,添加也无妨
<logger name="org.testcontainers" level="INFO" /> <logger name="com.github.dockerjava" level="WARN"/>
到 org/springframework/boot/logging/logback/defaults.xml
现在是一个无处不在的库,并且考虑到还有其他记录器默认值:)这是我每次都需要在每个基本设置上触摸 logback 的唯一原因
@philwebb @wilkinsona 我可以接这个吗? @wilkinsona 我如何找到更多需要贡献的问题?
问候
@nightswimmings,这与这个问题确实无关,不幸的是,我认为它不会工作,因为 Testcontainers 在 Spring Boot 有机会初始化日志系统之前执行其日志记录。
@Abhijeetmishr 谢谢,这都是你的了。
我如何找到更多需要贡献的问题?
标记为理想贡献的问题是您最好的选择。但我们有时却没有。
您好,CodeConverter 类中省略白色和黑色有什么原因吗? (对于 Log4J 和 Logback)
private static final Map<String, AnsiElement> ELEMENTS;
static {
Map<String, AnsiElement> ansiElements = new HashMap<>();
ansiElements.put("faint", AnsiStyle.FAINT);
ansiElements.put("red", AnsiColor.RED);
ansiElements.put("green", AnsiColor.GREEN);
ansiElements.put("yellow", AnsiColor.YELLOW);
ansiElements.put("blue", AnsiColor.BLUE);
ansiElements.put("magenta", AnsiColor.MAGENTA);
ansiElements.put("cyan", AnsiColor.CYAN);
ELEMENTS = Collections.unmodifiableMap(ansiElements);
}
感谢您的回答。奥利维尔弟兄
@Abhijeetmishr @wilkinsona 抱歉,我不知道我需要提及我想从事这方面的工作。
不管怎样,你可以看看我的 PR https://github.com/spring-projects/spring-boot/pull/34676
@omlip我还在上面添加了黑色和白色。
谢谢@krzyk,但请让我们给@Abhijeetmishr 一个解决这个问题的机会。
@nightswimmings,这与这个问题确实无关,不幸的是,我认为它不会工作,因为 Testcontainers 在 Spring Boot 有机会初始化日志系统之前执行其日志记录。
谢谢安迪。我不想延长曾经被标记为离题的对话,但我想以某种方式回答你。我只谈论defaults.xml,我理解,正如我们在另一期中所说的那样,程序化的spring默认值是另一回事,但是通过继承spring的base.xml(/defaults.xml)来放置logback.xml或logback-test.xml将开箱即用
请将此评论标记为题外话,我深表歉意
结束有利于公关。谢谢@Abhijeetmishr!
@omlip 我看不出有任何具体原因可以省略它们,但我可以看到 PR 包含它们,所以我将扩大它的范围。
@snicoll 谢谢