在開發環境通常Log4j2的root logger的level是設定為debug
,但總是會印出一些不需要的訊息,例如第三方函式庫或框架內的訊息,因此可以透過對想看到訊息的package設定level來調整。
例如下面的root logger輸出console的level是debug
,也就是<Root level="debug">
的部分,因此logger預設是debug層級的訊息都會印出,所以又在下面針對個別的package設定level為error
。例如<Logger name="org.springframework" level="error"></Logger>
即為把org.springframework
package下的logger level全改為error
,只有error層級的訊息才會印出。
log4j2.xml
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
</Root>
<Logger name="org.springframework" level="error"></Logger>
<Logger name="com.zaxxer.hikari" level="error"></Logger>
<Logger name="springfox" level="error"></Logger>
<Logger name="org.hibernate.validator.internal" level="error"></Logger>
</Loggers>
或是反過來將root logger的level設定為error
,只針對特定的package,例如我們正在開發的程式package,設定為debug
。
log4j2.xml
<Loggers>
<Root level="error">
<AppenderRef ref="Console" />
</Root>
<Logger name="com.abc.demo" level="debug"></Logger>
</Loggers>
沒有留言:
張貼留言