web-dev-qa-db-fra.com

Est-ce que la journalisation de la console couleur Spring Boot fonctionne dans Intellij?

Quelqu'un a-t-il compris comment faire fonctionner la sortie couleur dans Intellij Idea pour une application Spring Boot?

41
joshuawhite929

En utilisant un Mac, Intellij Idea 14 et Spring Boot v1.2.2.RELEASE, tout ce que vous avez à faire est de définir:

spring.output.ansi.enabled=ALWAYS

J'ai ajouté ceci comme une option VM (-Dspring.output.ansi.enabled=ALWAYS). Fonctionne très bien!

84
joshuawhite929

Dans application.properties utilisez (par exemple) la ligne suivante:

logging.pattern.console= %d{yyyy-MMM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{15}) - %msg %n

Si vous souhaitez presque similaire à Spring Boot, vous pouvez utiliser un modèle comme celui-ci:

%date  %highlight(%-5level) [%12.12thread] %cyan(%-40.40logger{40}) : %msg %n
6
Kirill Ch
  • installez le plugin Eclipse appelé Ansi Console à partir du marché.
  • spring.output.ansi.enabled = TOUJOURS @ Application.properties/yml.
  • Exécutez l'application en tant que démarrage de printemps et vous verrez les journaux de couleurs dans la console.
6
Jini

En ajoutant simplement ces propriétés à application.properties pour IntelliJ IDEA:

spring.main.banner-mode=off 
spring.output.ansi.enabled=ALWAYS
3
Harvester Haidar

Moyen générique pour activer la prise en charge des couleurs de journalisation dans toutes les conditions avec Gradle:

bootRun {
    def console = System.console() != null
    if (! console) { console = System.getenv()["TERM"].startsWith("xterm") }
    if (console) systemProperties 'spring.output.ansi.enabled': 'always'
}
1
gavenkoa

Avec les versions plus récentes d'IntelliJ (2019) et de Spring Boot (2.0) lors de l'exécution d'une application Spring Boot dans la journalisation des couleurs IntelliJ est correctement sortie, cependant lors de l'exécution des tests unitaires aucune console n'est détectée et donc la journalisation des couleurs n'est pas utilisée. Pour forcer Spring Boot à toujours considérer qu'il y a une console même si elle n'en trouve pas, définissez la propriété suivante:

spring.output.ansi.console-available=true

Contrairement à spring.output.ansi.enabled=ALWAYS cela laisse le code de détection en cours d'exécution (donc pas de couleur si vous êtes sur Windows) mais provoque l'enregistrement des couleurs dans les tests (à la fois dans IntelliJ et lors de l'exécution avec Maven).

0
Matthew Buckett