springboot按照profile进行打印日志
log4j logback slf4j区别?
首先谈到日志,我们可能听过log4j logback slf4j这三个名词,那么它们之间的关系是怎么样的呢?SLF4J,即简单日志门面(Simple Logging Facade for JAVA),不是具体的日志解决方案,它只服务于各种各样的日志系统。一般来说,slf4j配合log4j、logback进行使用,可以理解为slf4j是标准,log4j和logback是实现,我们可以根据自己的需求进行选择具体的日志系统。
这里推荐使用logback,因为logback更快的执行速度,logback-classic 非常自然的实现了SLF4J,官方也推荐使用logback作为日志系统。logback如何配置springboot框架
创建logback-spring.xm在src/main/resources下面(springboot推荐使用logback-spring.xml而不是logback.xml)文件。
logback-spring.xml文件例子:
以下是一个logback-spring.xml的例子,可以直接复制使用
1-%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger - %msg%n GBK RestAPI ${LOG_PATH}/${APPDIR}/log_error.log ${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log 2MB true ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n utf-8 error ACCEPT DENY ${LOG_PATH}/${APPDIR}/log_warn.log ${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log 2MB true ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n utf-8 warn ACCEPT DENY ${LOG_PATH}/${APPDIR}/log_info.log ${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log 2MB true ===%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n utf-8 info ACCEPT DENY %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n
- ###配置多环境日志输出 从上面可以看到,我们可以用springProfile标签区分环境,其中root中的DEBUG是系统的日志级别,我们可以通过application.yml或者 application.properties文件
通过在配置文件中指定生效的环境和日志的级别
spring.profiles.active=dev logging.level.org.springframework.web=debug
- ###总结如下,springboot创建多环境日志步骤 1.在src/main/resources下面创建logback-spring.xml文件,可以直接copy上面的文件修改 2.指定日志级别和环境