Set root logging level in application.yml

JavaLoggingSpring BootYaml

Java Problem Overview


I used an application.properties with Spring Boot (1.3 M1) and started to translate it into a yaml file because it grew more and more complex.

But I have problems translating this into yaml:

logging.level.*=WARN
logging.level.com.filenet.wcm=ERROR
logging.level.de.mycompany=DEBUG

The last two lines are easily translated into this:

logging:
    level:
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG

But how to add the values for the root logging level ? These two approaches failed:

Failed approach 1:

logging:
    level: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    

Failed approach 2:

logging:
    level: 
        star: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    

I read the docs, searched stackoverflow and googled but did not find an example for a valid syntax.

Java Solutions


Solution 1 - Java

You can use ROOT to configure the root logging level:

logging:
  level:
    ROOT: DEBUG

Solution 2 - Java

If you want level by package, you can use this syntax :

logging:
  level:
     org.springframework.web: DEBUG
     guru.springframework.controllers: DEBUG
     org.hibernate: DEBUG
     org: INFO

Solution 3 - Java

You can even use your classname to configure logging level:

logging:
  level:
    com.yourorganization.Yourclass: DEBUG

Solution 4 - Java

It's an old question, but I just had this problem.

While setting

org.springframework.web: debug

or

org.hibernate: debug

works fine, if you want to do the same for your project files (setting level per package), you have to use wildcards. So, for the example in the question, it would be:

logging:
    level:
        root: WARN
        com.filenet.wcm.*: ERROR
        de.mycompany.*: DEBUG

Alternatively, you can set the logging level per class without using wildcards, as shown in torina's answer.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMargedView Question on Stackoverflow
Solution 1 - JavaAndy WilkinsonView Answer on Stackoverflow
Solution 2 - JavaMichael COLLView Answer on Stackoverflow
Solution 3 - JavatorinaView Answer on Stackoverflow
Solution 4 - JavaJoakimView Answer on Stackoverflow