spring boot 日志配置详解

最近在学习spring boot框架的路上,今日看了一下spring boot日志配置,顺便留个笔记记录一下。

1.新建logback.xml文件

内容如下:

<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration scan="true" scanPeriod="10 seconds">
 <include resource="org/springframework/boot/logging/logback/base.xml" />

 <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <File>${LOG_PATH}/info.log</File>
  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>${LOG_PATH}/info-%d{yyyyMMdd}.log.%i</fileNamePattern>
   <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>500MB</maxFileSize>
   </timeBasedFileNamingAndTriggeringPolicy>
   <maxHistory>2</maxHistory>
  </rollingPolicy>
  <layout class="ch.qos.logback.classic.PatternLayout">
   <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
   </Pattern>
  </layout>
 </appender>

 <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
   <level>ERROR</level>
  </filter>
  <File>${LOG_PATH}/error.log</File>
  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
   <fileNamePattern>${LOG_PATH}/error-%d{yyyyMMdd}.log.%i
   </fileNamePattern>
   <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <maxFileSize>500MB</maxFileSize>
   </timeBasedFileNamingAndTriggeringPolicy>
   <maxHistory>2</maxHistory>
  </rollingPolicy>
  <layout class="ch.qos.logback.classic.PatternLayout">
   <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n

   </Pattern>
  </layout>
 </appender>

 <!-- hibernate日志输入 -->
 <!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder"
  level="TRACE" />
 <logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
  level="TRACE" />
 <logger name="org.hibernate.SQL" level="INFO" />
 <logger name="org.hibernate.engine.QueryParameters" level="INFO" />
 <logger name="org.hibernate.engine.query.HQLQueryPlan" level="INFO" /> -->

 <root level="INFO">
  <appender-ref ref="INFO_FILE" />
  <appender-ref ref="ERROR_FILE" />
 </root>

</configuration>

2.然后在application.properties文件中假如如下代码:

#log
logging.config=classpath:logback.xml
logging.path=/workspace/rock/jpa-test/log

3.这时就可以使用log对象了

private final Logger log = Logger.getLogger(this.getClass());

log.info("你好");

注:由于我的项目在d盘,所以第二步设置的文件路径为:d:/workspace/rock/jpa-test/log

运行程序后,进入路径会有三个文件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • spring boot日志管理配置

    spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种Logger都可以通过配置使用控制台或者文件输出日志内容. 控制台输出 在Spring Boot中默认配置了ERROR.WARN和INFO级别的日志输出到控制台. 我们可以通过两种方式切换至DEBUG级别: a.在运行命令后加入--debug标志,如:$ Java -jar myapp.jar --d

  • 老生常谈spring boot 1.5.4 日志管理(必看篇)

    spring boot日志默认采用logback进行输出,你可以对logback进行定制化,方法如下: 在resources文件夹下建立logback.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- base.xml in the spring-boot jar, --> <include resource="org/sprin

  • 深入理解Spring Boot的日志管理

    前言 Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持, 如:Java Util Logging,Log4J, Log4J2和Logback.每种Logger都可以通过配置使用控制台或者文件输出日志内容. 日志输出格式 2016-08-19 10:22:04.233 INFO 7368 --- [ main] com.juzi.AsyncTest : Started AsyncTest in 10.084 seconds (JVM r

  • spring boot 日志配置详解

    最近在学习spring boot框架的路上,今日看了一下spring boot日志配置,顺便留个笔记记录一下. 1.新建logback.xml文件 内容如下: <!-- Logback configuration. See http://logback.qos.ch/manual/index.html --> <configuration scan="true" scanPeriod="10 seconds"> <include res

  • Spring Boot事务配置详解

    1.在启动主类添加注解:@EnableTransactionManagement 来启用注解式事务管理,相当于之前在xml中配置的<tx:annotation-driven />注解驱动. 2.在需要事务的类或者方法上面添加@Transactional() 注解,里面可以配置需要的粒度: 这么多东西提供配置: Isolation :隔离级别 隔离级别是指若干个并发的事务之间的隔离程度,与我们开发时候主要相关的场景包括:脏读取.重复读.幻读. 我们可以看 org.springframework.

  • Spring Boot日志控制详解

    Spring Boot对日志的处理,和我们平时的日志处理完全一致,通过logback.xml进行日志管理功能.为了简便,这里采用"Spring Boot构建框架"一章节使用的工程,讲述如何在Spring Boot中处理日志. 第一步,虽然Spring Boot中application.properties配置文件提供了日志的配置,但是个人更倾向于旧的配置方式.在src/main/resources目录中增加logback.xml日志文件,文件内容如下(配置相对简单,个人请根据工程情况,

  • Spring Boot整合Thymeleaf详解

    目录 Thymeleaf 基本介绍 基本语法 th:text文本替换 th:if和th:unless文本替换 th:each foreach循环 th:id.th:value.th:checked等(和form表单相关) 整合Thymeleaf 基本配置 三层架构 删除操作 编辑操作 用户登录 用户注销 点击注销用户 Thymeleaf 基本介绍 Spring Boot 官方推荐使用 Thymeleaf 作为其模板引擎.SpringBoot 为 Thymeleaf 提供了一系列默认配置,并且为T

  • spring.datasource.schema配置详解

    目录 1.现将sql文件放在resources下的sql文件夹下 2.新建数据库mybatis 3.配置yml 用springboot2.0执行sql脚本: 1.现将sql文件放在resources下的sql文件夹下 2.新建数据库mybatis 3.配置yml spring: datasource: # 数据源基本配置 username: root password: 123 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql

  • Spring boot整合security详解

    目录 前言 配置依赖 用户配置 1.内存用户存储 2.数据库用户存储 3.LDAP用户存储 4.自定义用户存储 拦截配置 前言 在进行框架选型时最常用的选择就是在Spring security 和Shiro中进行抉择,Spring security 和 shiro 一样,都具有认证.授权.加密等用于权限管理的功能.但是对于Springboot而言,Spring Security比Shiro更合适一些,他们都是Spring生态里的内容,并且在使用上Spring boot只需要引入Security就

  • Spring Java-based容器配置详解

    装Java-based的配置 使用 @Import 注解 跟在Spring XML文件中使用<import>元素添加模块化的配置类似,@Import注解允许你加载其他配置类中的@Bean定义: @Configuration public class ConfigA { @Bean public A a() { return new A(); } } @Configuration @Import(ConfigA.class) public class ConfigB { @Bean public

  • Spring Cloud Ribbon配置详解

    本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式. 常用配置 1. 禁用 Eureka 当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡. 这是因为 Eureka 中的服务信息已经被拉取到了客户端本地,如果我们不想和 Eureka 集成,可以通过下面的配置方法将其禁用. # 禁用 Eureka ribbon.eureka.enabled=false 当我们禁用了 Eure

  • Spring Boot Admin实践详解

    在Spring Boot Actuator中提供很多像health.metrics等实时监控接口,可以方便我们随时跟踪服务的性能指标.Spring Boot默认是开放这些接口提供调用的,那么就问题来了,如果这些接口公开在外网中,很容易被不法分子所利用,这肯定不是我们想要的结果.在这里我们提供一种比较好的解决方案. 被监控的服务配置 为被保护的http请求添加请求前缀 management: context-path: /example-context eureka: instance: stat

  • spring boot使用logback实现多环境日志配置详解

    软件生存周期中,涉及代码运行的环节有编码.测试和维护阶段,而一套成熟的代码,在此三个阶段,数据库.日志路径.日志级别.线程池大小等配置一般会不一样.作为开发人员,希望将代码与配置解耦合,不同的环境,代码一套,而配置多套. 针对于多环境的配置,可以使用maven的profile及filter配置,在打包环节通过打包命令 mvn clean package -P dev/test/product决定所打环境的war/jar包.此种解决方案,产生的war\jar包在不同环境的是不同的,因此MD5校验和

随机推荐