今天领导让我配置一个log日志服务,我哪里见过哟,然后就去百度了,结果挨个试下去,找到了一个能用的,分享给大家

大致四个地方 分别是 1.pom文件需要引入依赖 2.创建一个TestLog类 3.在yml中或者properties中写log.xml的路径 4.添加一个Logback.xnk文件

首先来个配置完成的图片



第一步首先先修改pom文件,让他下载依赖

  1. <dependency>
  2. <groupId>org.slf4j</groupId>
  3. <artifactId>slf4j-api</artifactId>
  4. <version>1.7.25</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>ch.qos.logback</groupId>
  8. <artifactId>logback-core</artifactId>
  9. <version>1.2.3</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>ch.qos.logback</groupId>
  13. <artifactId>logback-classic</artifactId>
  14. <version>1.2.3</version>
  15. </dependency>
  16. <!--log结束-->

第二步写个main()函数作为启动入口,创建resource文件夹存放静态文件

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class TestLog {

static Logger logger = LoggerFactory.getLogger(TestLog.class);

public static void main(String[] arge) {

logger.debug(" debug");

logger.info(" info");

logger.error(" error");

logger.warn(" warn");

}

}

第三步添加一个application.yml或者application.properrties配置文件均可,添加以下配置指明logback的配置xml路径

logging:

config: classpath:logback.xml

第四步添加logback.xml文件,用于做log的相关配置

  1. <!-- 配置项, 通过此节点配置日志输出位置(控制台、文件、数据库)、输出格式等-->
  2. <!-- ConsoleAppender代表输出到控制台 -->
  3. <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
  4. <!-- layout代表输出格式 -->
  5. <layout class="ch.qos.logback.classic.PatternLayout">
  6. <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
  7. </layout>
  8. </appender>
  9. <!-- 日志输出文件 -->
  10. <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  11. <encoder>
  12. <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
  13. </encoder>
  14. <!-- 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 RollingFileAppender-->
  15. <!-- 滚动策略,它根据时间来制定滚动策略.既负责滚动也负责触发滚动 -->
  16. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  17. <!-- 输出路径 -->
  18. <fileNamePattern>${logPath}/info/%d.log</fileNamePattern>
  19. <!-- 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件假设设置每个月滚动,且<maxHistory>是6,
  20. 则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除-->
  21. <maxHistory>${maxHistory}</maxHistory>
  22. </rollingPolicy>
  23. <!-- 按照固定窗口模式生成日志文件,当文件大于20MB时,生成新的日志文件。窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志。
  24. <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
  25. <fileNamePattern>${logPath}/%d{yyyy-MM-dd}/.log.zip</fileNamePattern>
  26. <minIndex>1</minIndex>
  27. <maxIndex>3</maxIndex>
  28. </rollingPolicy> -->
  29. <!-- 查看当前活动文件的大小,如果超过指定大小会告知RollingFileAppender 触发当前活动文件滚动
  30. <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  31. <maxFileSize>5MB</maxFileSize>
  32. </triggeringPolicy> -->
  33. </appender>
  34. <!-- 特殊记录Error日志 -->
  35. <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  36. <!-- 只记录ERROR级别日志,添加范围过滤,可以将该类型的日志特殊记录到某个位置 -->
  37. <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  38. <level>ERROR</level>
  39. </filter>
  40. <encoder>
  41. <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
  42. </encoder>
  43. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  44. <fileNamePattern>${logPath}/error/%d.log</fileNamePattern>
  45. <!-- 日志最大的历史 60天 -->
  46. <maxHistory>60</maxHistory>
  47. </rollingPolicy>
  48. </appender>
  49. <!-- 根节点,表名基本的日志级别,里面可以由多个appender规则 -->
  50. <!-- level="info"代表基础日志级别为info -->
  51. <root level="info">
  52. <!-- 引入控制台输出规则 -->
  53. <appender-ref ref="consoleLog" />
  54. <appender-ref ref="fileInfoLog" />
  55. <appender-ref ref="fileErrorLog" />
  56. </root>

运行之后就可以看到日志输出到控制台跟文件中了



发现没有debug日志的输出,因为我们节点规定的记录的是info级别的,他只会记录等于或者高于info级别的,其他的都会忽略保证生成环境产生过多日志,加油打工人

仵航说 SpringBoot项目配置Log日志服务-仵老大的更多相关文章

  1. springboot项目配置logback日志系统

    记录springboot项目配置logback日志文件管理: logback依赖jar包 SpringBoot项目配置logback理论上需要添加logback-classic依赖jar包: < ...

  2. Springboot项目 配置数据库连接属性后,启动项目报错

    Springboot项目 配置数据库连接属性后,启动项目报错,错误如下: 错误原因分析: 1.连接信息配置错误 当使用properties为配置文件时,如图所示,上面的 spring.datasour ...

  3. 使用JWT设计SpringBoot项目api接口安全服务

    转载直: 使用JWT设计SpringBoot项目api接口安全服务

  4. Springboot项目搭配ELK日志平台

    上一篇讲过了elasticsearch和kibana的可视化组合查询,这一篇就来看看大名鼎鼎的ELK日志平台是如何搞定的. elasticsearch负责数据的存储和检索,kibana提供图形界面便于 ...

  5. springboot项目配置类

    一.在springboot项目中,如果不进行配置,直接访问静态页面是无法访问的,需要进行配置,springboot舍弃了XML文件的配置方式,这里我们采用开发配置类的方式.新建MvcConfig类,加 ...

  6. springboot项目 配置https

    感谢  https://www.jianshu.com/p/1b7b9e0803c6 帮我解决了问题 生成自签名证书 keytool -genkey -storetype PKCS12 -keysiz ...

  7. 五. jenkins部署springboot项目(2)--windows环境--服务

    前提:jenkins和springboot运行在同一台机器 springboot 通过winsw部署为服务 winsw 下载地址:https://github.com/kohsuke/winsw/re ...

  8. 构建:vue项目配置后端接口服务信息

    背景 vue-cli脚手架生成的webpack标准模板项目 HTTP库使用axios 一.开发环境跨域与API接口服务通信 整体思路: 开发环境API接口请求baseURL为本地http://loca ...

  9. springBoot项目配置日志打印管理(log4j2)

    1.修改pom文件引用log4j2相关jar包 依赖代码: <!-- log4j2 start --><!-- Spring Boot log4j2依赖 --><depe ...

随机推荐

  1. Mac book系统的垃圾清理如何进行?

    当我们看到电脑发出的内存不足的提示,这就意味着: 1.Mac系统的内存即将被占满 2.电脑将运行缓慢 3.开机速度变慢 很多人使用Mac book一年以后都会发现,它的运行开始逐渐变慢,爱电脑的人在将 ...

  2. H5系列之常用的语义元素

    H5添加了几个新标签,带有语义化的标签,像我们的div 和 span 标签,你说他两能干嘛呢, 好像他两什么事都能干.举个例子,你家里的房子,有几个房间,如果不分房间的话,是不是你 今天睡这里,明天睡 ...

  3. objetive-C中属性变量和成员变量

    属性变量 @property和@synthesize可以自动生成某个类成员变量的存取方法. readwrite:这个属性是默认的情况,会自动生成存取器 assign:这个属性一般用来处理基础类型,比如 ...

  4. 洛谷 P1360 [USACO07MAR]Gold Balanced Lineup G (前缀和+思维)

    P1360 [USACO07MAR]Gold Balanced Lineup G (前缀和+思维) 前言 题目链接 本题作为一道Stl练习题来说,还是非常不错的,解决的思维比较巧妙 算是一道不错的题 ...

  5. python+selenium下载和上传文件

    操作浏览器上传文件,先看代码 1 """ 2 * send_keys() 指定文件上传路径. 3 """ 4 from selenium i ...

  6. The First Assignment

    我的第一条随笔 ========== 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2 这个作业要求在哪里 https://edu.cn ...

  7. Beta冲刺随笔——Day_Nine

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...

  8. JQuery浮动对象插件

    写了个插件,用来固定表的头部和尾部. /*! * smartFloat v1.0.1 * Copyright 2019- Richard * Licensed under MIT */ $.fn.ex ...

  9. 第8.25节 Python风格的__getattribute__属性访问方法语法释义及使用

    一. 引言 在<第8.13节 Python类中内置方法__repr__详解>老猿介绍了在命令行方式直接输入"对象"就可以调用repr内置函数或__repr__方法查看对 ...

  10. Python函数学习遇到的问题

    Python函数的关键字参数 Python函数独立星号(*)分隔的命名关键字参数 Python函数中的位置参数 Python中对输入的可迭代对象元素排序的sorted函数 Python中函数的参数带星 ...