在实际项目开发中,一般都是使用log打印日志到指定路径,生成文件,而平时使用的System.out.pring()只能输出日志到控制台。

当我们把项目打成war包部署到服务器上,会有不用的用户使用我们的应用,这个时候如果一个客户端出现了问题,那我们如果在控制台去找该用户抛出的异常或错误信息,是一件很难受,很麻烦的事情。为了解决这个问题,开发或维护人员能够迅速定位日志,我们实际的项目中的日志都是使用配置引入第三方jar包或者引入插件,从而将日志打印到我们制定的路径的文件夹中,生成 .log 文件。

这里的滚动策略是按照时间滚动的,每一天生成一个新的日志文件。

下面是文件logback-spring.xml:

<?xml version="1.0" encoding="UTF-8" ?><configuration><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%d - %msg%n</pattern></layout></appender><appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>DENY</onMatch><onMismatch>ACCEPT</onMismatch></filter><encoder><pattern>%msg%n</pattern></encoder><!--滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路径--><fileNamePattern>E:\Git\log\info/info.%d.log</fileNamePattern></rollingPolicy></appender><appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>ERROR</level></filter><encoder><pattern>%msg%n</pattern></encoder><!--滚动策略--><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--路径--><fileNamePattern>E:\Git\log\error/error.%d.log</fileNamePattern></rollingPolicy></appender><root level="info"><appender-ref ref="consoleLog" /><appender-ref ref="fileInfoLog" /><appender-ref ref="fileErrorLog" /></root></configuration>

在pom.xml中添加一下依赖:

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>

然后看一下测试类LoggerTest.java:

package com.imooc;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import lombok.extern.slf4j.Slf4j;@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class LoggerTest {// private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);@Testpublic void test1(){log.info("info....");log.debug("debug....");log.error("error....");}
}

我们在这里使用了一个插件lombok,在idea和eclipse中都可以安装:

我这里一开始引入依赖之后报错,是因为没有配置编辑器的maven:

上面测试类中使用了lombok控件支持的一个注解@Slf4j,这个注解可以方便我们dao层的实现,省去了setter和getter方法,同时也方便了日志的输出,不用再每一个类中都 创建一个Logger对象,直接调用log方法就可以打印日志了,这个使用起来还是很方便的,我推荐使用这个注解和lombok插件。

Spring boot配置logback日志打印到指定路径文件相关推荐

  1. spring boot配置logback日志

    spring boot配置logback日志 在上一篇spring boot入门里提过,Spring Boot默认的日志打印是logback,所以配置logback日志会很简单,但是也有注意的地方. ...

  2. spring boot 配置logback,logback不打印日志

    spring boot 日志简介 spring boot只依赖 Commons Logging API,而不依赖其他日志(jul.logback.log4j).要想使用logback,必须引入jcl- ...

  3. 基于Spring Boot的Logback日志轮转配置

    在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的.我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异.这里就结合Spring Boot配置一下L ...

  4. spring boot—自定义logback日志配置

    自定义日志配置 spring boot2.2.4官方文档 logback中文文档    1)spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统.    2)sp ...

  5. logback property 默认值_看完这篇文章还不会给spring boot配置logback,请你吃瓜

    每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定. 放弃不难,但坚持很酷~ 一.logback日志框架 logback 是一个开源的日志组件,由三个部分组成:logback-core,logba ...

  6. spring boot 全局统一日志打印

    欢迎关注本人公众号 概述 本文以使用spring boot或者springmvc为例. 微服务之间调用,或者controller接收请求时,为了方便排查问题,通常会将入参与出参(返回值)打印出来. 为 ...

  7. spring boot中的日志入门

    日志通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要地位. 报警系统与日志系统的关系 为了保证服务的高可用,发现问题一定要及时,定位 ...

  8. Spring Boot配置log4j记录日志

    转载请注明出处:Spring Boot配置log4j记录日志 我们在老的项目框架ssh,springMVC中都使用过log4j日志模块. 例如:java日志功能log4j模块的使用方法 Spring ...

  9. 配置Logback日志

    日志 1.配置日志级别 2.Logback日志 2.1 配置logback日志 2.2 将错误日志输出到文件 2.3 将日志堆栈信息输出到文件 小结 1.配置日志级别 日志记录器(Logger)的行为 ...

最新文章

  1. python 时间模块备忘
  2. 最大公约数(Greatest_Common_Divisor)
  3. Collections.toMap 报错 空指针 key重复
  4. 华为升级harmonyos的机型名单,华为智慧屏HarmonyOS 1.0.1.50更新机型和方法
  5. 第1章 Hello MFC
  6. 文件上传至将File转换成MultiPartFile
  7. filetype 在搜索引擎中的使用方法(2)
  8. python遍历文件夹方法
  9. 事件对象以及事件委托(pink老师笔记)
  10. 我的世界光影Java优化_我的世界7款超级棒的光影包推荐 让你的世界从此变得真实无比...
  11. 【转】人脸识别:AI产品经理需要了解的CV通识
  12. python——设置渐变色
  13. RouterOS 端口映射
  14. python word 英语音标_(完整word版)英语音标大全
  15. 浙大计算机系2001届,我的大学十年(林锐博士).doc
  16. 电路设计中如何解决电压跌落
  17. 有效预防xss_预防XSS攻击的一些方法整理
  18. ae批量修改字体_AE脚本-批量文字替换图层样式属性编辑脚本Aescripts pt_TextEdit 2.41 + 使用教程...
  19. matlab实现正割法求根和Aitken加速方法
  20. Flash Tech: this.el_.vjs_getProperty is not a function video.js

热门文章

  1. 采用arduino UNO和pulse sensor心率传感器进行心率测量
  2. 百威在中国市场引入北海道百年传奇三宝乐啤酒
  3. ios 获取沙盒文件名_iOS沙盒机制
  4. itchat研究笔记
  5. 定位进阶(HTML)
  6. 弘辽科技:直通车成交率怎么算?成交率低怎么办?
  7. IBM AIX操作系统
  8. Axure中动态面板和母版有什么区别
  9. 基于java web的设备运维报修管理系统
  10. keil固件库芯片支持包下载