Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set root logging level in application.yml

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.

like image 727
Marged Avatar asked Jul 08 '15 10:07

Marged


4 Answers

You can use ROOT to configure the root logging level:

logging:
  level:
    ROOT: DEBUG
like image 68
Andy Wilkinson Avatar answered Oct 06 '22 03:10

Andy Wilkinson


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
like image 28
Michael COLL Avatar answered Oct 06 '22 03:10

Michael COLL


You can even use your classname to configure logging level:

logging:
  level:
    com.yourorganization.Yourclass: DEBUG
like image 25
torina Avatar answered Oct 06 '22 03:10

torina


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.

like image 32
Joakim Avatar answered Oct 06 '22 04:10

Joakim