首页 > 其他分享 >logback快速入门

logback快速入门

时间:2023-01-01 17:00:20浏览次数:36  
标签:入门 PATTERN logback error LOGGER 快速 DIR LOG

1、创建maven项目

使用idea快速便捷创建maven项目

2、引入jar包依赖(坐标)

在maven项目的pom文件加入一下的依赖。

<!--    logback日志依赖-->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.11</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>1.2.11</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.36</version>
    </dependency>

3、添加logback.xml配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <!--定义全局变量-->
    <!--定义日志打印格式-->
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} | %thread | %-5level | %msg%n"/>
    <!--设置日志文件路径-->
    <property name="LOG_DIR" value="C:\\Users\\86130\\Desktop\\info"/>
<!--    C:\Users\86130\Desktop-->

    <!--输出到控制台-->
    <appender name="CONSOLE-LOG" class="ch.qos.logback.core.ConsoleAppender">
        <!--设置打印日志文字的颜色-->
        <target>System.out</target>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${LOG_PATTERN}</pattern>
        </layout>
    </appender>

    <!--输出到文件-->
    <appender name="FILE-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--设置过滤器过滤ERROR级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ALL</level><!--设置输出到文件日志的类型、级别-->
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/%d.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <!--错误日志设置-->
    <appender name="ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_DIR}/error.%d{yyyy-MM-dd}.log</FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!--输出到文件-->
    <appender name="BB-FILE-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/bb-%d.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
    </appender>

    <logger name="com.xxx.yyy.bb" level="INFO" additivity="false">
        <appender-ref ref="BB_FILE_LOG"/>
    </logger>
	<!--设置打印日志到文件的级别或者理解是激活日志级别-->
    <root level="All">
        <appender-ref ref="CONSOLE-LOG" />
        <appender-ref ref="FILE-LOG" />
        <appender-ref ref="ERROR-LOG" />
    </root>
</configuration>

4、创建logback对象

public class App 
{
    public static final Logger LOGGER= LoggerFactory.getLogger("App.class");
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        LOGGER.info("INFO模式开始执行。。。。。。");
        LOGGER.error("执行error级别日志");
    }

}

LOGGER.info
LOGGER.error

将日志输出控制台或打印到文件中。

5、logback配置详解

略。

end

标签:入门,PATTERN,logback,error,LOGGER,快速,DIR,LOG
From: https://www.cnblogs.com/yiblue/p/17018270.html

相关文章

  • NumPy 图解入门
    最近真是很忙,python的学习都搁置了好久了,​​NumPy​​​和​​Pandas​​一直都在入门过程中。总不能一直这样,赶紧抽时间往前推进,也记录一下笔记。整理学习内容是巩固和......
  • grafana权限入门
    1 grafana默认的角色有三个(目前还没发现如何创建自定义角色  来对接dashboard的分组权限)adminediaview创建用户的时候就会勾选了 2 dashboard那里可以选......
  • Jenkins Pipeline快速入门
    目录一、Pipeline安装二、语法讲解一、Pipeline安装Pipeline,简单来说,就是一套运行在Jenkins上的工作流框架,将原来独立运行于单个或多个节点的任务连接起来,实现单个任务难......
  • 洛谷 P5721 【入门3】循环结构
    P5723【深基4.例13】质数口袋1.题目描述小A有一个质数口袋,里面可以装各个质数。他从 2 开始,依次判断各个自然数是不是质数,如果是质数就会把这个数字装入口袋。口......
  • MongoDB从入门到实战之MongoDB工作常用操作命令
    前言:上一章节我们快速的在Docker容器中安装了MongoDB,并且通过NavicatMongoDB可视化管理工具快速的连接、创建数据库、集合以及添加了文档数据源。这一章节我们主要是......
  • CUE语言基础入门:CUE是一门为配置而生的语言
    基础入门从这一部分开始,我们会介绍KubeVela是如何基于CUE来实现抽象和扩展的。本节将主要介绍一些CUE的基础知识,如果你对KubeVela的​​核心概念​​还不了解也没有......
  • 极客编程python入门-序列化
    序列化我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化......
  • 函数入门
    函数的作用:函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。定义一个函数函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数......
  • NLP入门必知必会(一):Word Vectors
     Datawhale干货 作者:芦冬生,Datawhale优秀学习者,北京理工大学自然语言处理(NLP)是信息时代最重要的技术之一,也是人工智能的重要组成部分。NLP的应用无处不在,因为人们几乎......
  • python编程 ——从入门到实践——第四章,操作列表
    1、遍历列表——for循环的基本形式magicians=['alice','david','carolina']forainmagicians:#for循环会读取列表中的第一个字符串,然后和a对应,再打印,然后再读取第......