当前位置: 首页 > news >正文

郑州做企业网站的全网

郑州做企业网站的,全网,珠峰网站建设,网站建设中html模板文章目录 前言一、Logback 日志框架介绍:二、整合:2.1 引入jar2.2 logback.xml 文件配置:2.3 日志输出:2.3.1 方式一:2.3.2 方式二: 2.3 日志输出结果展示: 三、扩展:3.1 日志输出格…

文章目录

  • 前言
  • 一、Logback 日志框架介绍:
  • 二、整合:
    • 2.1 引入jar
    • 2.2 logback.xml 文件配置:
    • 2.3 日志输出:
      • 2.3.1 方式一:
      • 2.3.2 方式二:
    • 2.3 日志输出结果展示:
  • 三、扩展:
    • 3.1 日志输出格式设置:
    • 3.2 日志输出过滤器设置:
  • 总结


前言

在项目调试和运行中,都可能涉及到 日志的输出,本文对springboot 整合Logback 日志框架进行介绍。


一、Logback 日志框架介绍:

Logback 是一个灵活的日志框架,旨在替代传统的 Apache Log4j 框架。它是由 Ceki Gülcü 开发,并且支持 SLF4J 日志接口。Logback 由三个主要模块组成:

  1. Logback Core:Logback 的核心模块,提供了日志事件处理和过滤的基本功能。Logger、Appender、Layout 和 Filter 等关键组件都在这个模块中定义。

  2. Logback Classic:Logback 经典模块,是 Log4j 的改进版本,兼容 Log4j 的 API 和配置文件。Logback Classic 扩展了 Logback Core 模块,提供了更多功能和灵活性。

  3. Logback Access:Logback 访问模块,用于记录 HTTP 请求的访问日志。它可以与 Servlet 容器集成,用于记录 Web 应用程序的访问日志。

Logback 的一些主要特点包括:

  • 性能优秀:Logback 的设计旨在提供高性能的日志记录功能,比传统的 Log4j 框架更快速地处理日志事件。

  • 灵活性:Logback 提供了丰富的配置选项和插件支持,使得用户可以根据需要定制日志记录的行为和格式。

  • SLF4J 兼容:Logback 与 SLF4J(Simple Logging Facade for Java)结合使用,使得应用程序可以灵活地切换不同的日志框架。

  • 支持文件和控制台日志输出:Logback 支持将日志输出到文件、控制台以及其他各种目标,可以根据需求配置输出目的地。

  • 多种过滤器:Logback 提供了多种过滤器选项,可以根据不同的条件过滤日志事件,使得日志输出更加精准。

总之,Logback 是一个功能丰富、灵活性强、性能优秀的日志框架,适用于大多数 Java 应用程序的日志记录需求。可以根据具体的项目需求和喜好选择是否在的应用程序中使用 Logback 框架。

logback 官网;

二、整合:

2.1 引入jar

 <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.12</version></dependency>

maven 版本参考:https://mvnrepository.com/artifact/ch.qos.logback/logback-classic

2.2 logback.xml 文件配置:

logback.xml 是 Logback 日志框架的配置文件,用于指定 Logback 日志系统的行为和属性。通过 logback.xml 文件,可以配置日志输出的格式、目标(比如控制台、文件)、日志级别、滚动策略等。

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!-- 日志存放路径  logs/job 设置为相对项目目录--><property name="log.path" value="logs/job" /><!-- 日志输出格式 时间 线程 日志级别 类 方法 对应的行数 输出信息 这样设置后输出格式如下 --><!-- 15:09:27.204 [http-nio-8080-exec-10] DEBUG c.e.s.l.TestLog - [getVersion,26] - debug详细信息 --><property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 appender  --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><!-- 日志内容输出格式设置为定义好的 log.pattern--><pattern>${log.pattern}</pattern></encoder></appender><!-- 系统日志输出 appender  class 中的log.pattern 表示日志滚动输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志首次输出的文件地址  --><file>${log.path}/info.log</file><!-- 滚动输出策略:基于时间创建日志文件 ,这样第二天输出的日志,就会按照 fileNamePattern 新建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><!-- 日志内容输出格式设置为定义好的 log.pattern--><pattern>${log.pattern}</pattern></encoder><!-- 日志内容输出过滤器 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_debug" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/debug.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/debug.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>DEBUG</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 系统模块日志级别控制 name 设置为你自己的项目根路径 如com.example.logback--><!-- level 设置日志输出的级别为debug 这样系统在进行日志输出时 只要级别在 debug  之后都可以打印 --><!-- 日志输出级别 trace< debug < info< warn < error  --><logger name="com.example.logback" level="debug" /><!-- Spring日志级别控制--><logger name="org.springframework" level="warn" /><!--系统操作日志 root 根路径的日志级别 info --><root level="info"><!-- 将定义好的几个日志输出 追加到 root 上 --><!-- console 控制台输出  --><appender-ref ref="console" /><!-- console info级别输出  --><appender-ref ref="file_info" /><!-- console debug级输出  --><appender-ref ref="file_debug" /><!-- console error级输出  --><appender-ref ref="file_error" /></root>
</configuration>

2.3 日志输出:

2.3.1 方式一:

类中定义logger 静态量

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

logger 日志输出:

logger.trace("trace追踪信息");
logger.debug("debug详细信息");
logger.info("info关键信息");
logger.warn("warn警告信息");
logger.error("error错误信息");

2.3.2 方式二:

maven 引入 lombok

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

在类上增加 @Slf4j 注解:

lombok 中 Slf4j 注解源码内容

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.TYPE})
public @interface Slf4j {String topic() default "";
}

logger 日志输出:

 log.trace("trace追踪信息");
log.debug("debug详细信息");
log.info("info关键信息");
log.warn("warn警告信息");
log.error("error错误信息");

2.3 日志输出结果展示:

控制台输出:
在这里插入图片描述

log 日志文件输出:
在这里插入图片描述

日志内容:
在这里插入图片描述

三、扩展:

3.1 日志输出格式设置:

<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20}- [%method,%line] - %msg%n" />

在这里插入图片描述

3.2 日志输出过滤器设置:

过滤器写在 Appender 标签内,可以配置一个或多个,按照先后顺序执行。过滤器会对每个级别的日志设置枚举值,表示对日志的处理方式:

在这里插入图片描述

<filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 TRACE,DEBUG ,INFO,WARN,ERROR --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch>
</filter>

在这里插入图片描述


总结

本文对springboot 整合Logback 日志框架进行介绍。

http://www.dinnco.com/news/55827.html

相关文章:

  • 新乡市封丘县建设局网站百度seo有用吗
  • 美国做3d+h动画的网站怎样进行关键词推广
  • 山西商城网站建设seo教程技术整站优化
  • 中国十大新闻网站排名2021年最为成功的营销案例
  • 做电影网站违法吗网站建设流程是什么
  • 做网站买服务器关键词搜索工具
  • 定制网站建设哪家便宜如何找推广平台
  • 电商网站建设 平台江苏seo哪家好
  • odoo 网站开发平台广告推广
  • 武汉网站建设云祝时代湖南seo优化服务
  • 用dw做网站的教程seo优化工作
  • 美容美发网站建设方案苏州关键词优化软件
  • 沈阳企业网站制作哪家好百度指数怎么做
  • 长沙网站微信开发做网站
  • 上海网站建设怎么弄有什么公司要做推广的
  • SEO网站公司学生个人网页制作素材
  • 龙华网站建设营销推广地推
  • 石家庄怎样做网站接外包网站
  • 网站产品页如何做优化黑帽seo排名
  • 苏州企业网站建设广告销售如何寻找客户
  • 广州的网站建设公司哪家好搜索引擎优化举例说明
  • 深圳网站建设优化推广公司必应bing国内版
  • 2017织梦网站怎么做seo百度网站优化工具
  • 凡科做网站的模版在哪儿找优化关键词排名seo
  • 济南建网站哪家好中关村在线app
  • 金融交易网站建设品牌软文范文
  • layui做网站搜索引擎优化排名优化培训
  • 网站建设开拓该行业的难点疑微信营销平台有哪些
  • 宁夏手机网站建设品牌营销推广代运营
  • 上海有几个区县南京seo培训