springboot有默认配置的日志系统logback, 使用logback不需要引入任何依赖,因为默认springboot中已经依赖了
spring-boot-starter-logging组件,所以不要要再单独引入了。
1.日志文件配置
在项目resources文件下创建logback-spring.xml配置文件。springboot会自动识别,这是springboot对默认日志文件的约定。
springboot启动的时候会自动识别logback-spring.xml文件。
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="false">
<jmxConfigurator/>
<property name="log_name" value="vcps_wms_web"/>
<!-- Only use for profile 'dev' -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %thread %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- Use for profile 'test', 'staging', 'prod' -->
<appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/${log_name}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./logs/${log_name}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>500MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>180</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %thread %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<springProfile name="dev">
<!-- ODC Loggers -->
<logger name="com.bjshengeng.cooperate" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT"/>
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- Spring Boot Loggers -->
<logger name="org.springframework.boot" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.springframework.boot.actuate" level="WARN" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<!-- Redis Loggers -->
<logger name="redis.clients" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.springframework.data.redis" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<!-- JDBC Loggers -->
<logger name="org.mybatis" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.mybatis.spring" level="WARN" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.apache.ibatis" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="java.sql" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="com.alibaba.druid" level="INFO" additivity="false">
<appender-ref ref="STDOUT"/>
</logger>
<!-- ROOT -->
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>
</springProfile>
<springProfile name="test,staging,preprod">
<!-- ODC Loggers -->
<logger name="com.bjshengeng.cooperate" level="INFO" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- Spring Boot Loggers -->
<logger name="org.springframework.boot" level="INFO" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.springframework.boot.actuate" level="WARN" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- Redis Loggers -->
<logger name="redis.clients" level="INFO" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.springframework.data.redis" level="INFO" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- JDBC Loggers -->
<logger name="org.mybatis" level="DEBUG" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.mybatis.spring" level="WARN" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.apache.ibatis" level="DEBUG" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="java.sql" level="DEBUG" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="com.alibaba.druid" level="DEBUG" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- ROOT -->
<root level="INFO">
<appender-ref ref="LOG_FILE"/>
</root>
</springProfile>
<springProfile name="prod">
<!-- ODC Loggers -->
<logger name="com.bjshengeng.cooperate" level="INFO" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- Spring Boot Loggers -->
<logger name="org.springframework.boot" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.springframework.boot.actuate" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- Redis Loggers -->
<logger name="redis.clients" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.springframework.data.redis" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- JDBC Loggers -->
<logger name="org.mybatis" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.mybatis.spring" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="org.apache.ibatis" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="java.sql" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<logger name="com.alibaba.druid" level="ERROR" additivity="false">
<appender-ref ref="LOG_FILE"/>
</logger>
<!-- ROOT -->
<root level="INFO">
<appender-ref ref="LOG_FILE"/>
</root>
</springProfile>
</configuration>
springProfile 可以配置springboot在各个环境中使用日志的配置, dev,test,prod环境。
然后在application.properties环境中设置当前环境,就会自动绑定。
下面是设置的开发环境
spring.profiles.active=dev
2.记录日志
在类中创建日志对象,就可以记录日志了
以上就是springboot中使用日志的用法,非常简单