logback框架快速入门

Logback是用来打印日志的,他可以同时打印在多个位置,不一定是控制台上。目前log back框架包括三个模块:logback-core,logback-classic和logback-access.

logback-core模块为其他两个模块奠定了基础,相当于入口。logback-classic模块进行日志处理的核心位置。logback-access模块与Tomcat和Jetty等Servlet容器集成,以提供HTTP访问日志功能。

使用log back框架步骤:

①建立lib目录 ,导入logback 的jar包,并添加到项目依赖库中。

注: 如果是maven管理项目,可以直接在pom.xml中配置,然后直接就成为依赖项。

  <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.11</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.11</version>
        </dependency>

 

 ②将Logback的核心配置文件logback.xml直接拷贝到src目录中或者src对应resource资源包中,该配置文件是用于日志打印的位置等等。(注意:如果用maven管理项目,必须要放在resource资源包中否则无法识别)

核心配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <!-- CONSOLE:表示当前的日志信息输出到控制台 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 输出流对象 默认 System.out 可以改为 System.err(会在输出台输入红色信息) -->
        <target>System.out</target>
        <encoder>
            <!-- 格式化输出:%d表示日期、%thread表示线程名、%-5level:级别从左到右显示5个字符宽度、%msg:日志消息、%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} {%-5level}  %c [%thread] : %msg%n</pattern>
        </encoder>
    </appender>

    <!-- File 让输出的方向为文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
        <!-- 日志输出路径 -->
        <file>E:/code/javase.log</file>
        <!-- 指定日志文件拆分和压缩规则 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 通过指定压缩文件名称,来确定分割文件方式 -->
            <fileNamePattern>E:/code/javase-%d{yyyy-MMdd}.log%i.gz</fileNamePattern>
            <!-- 文件拆分大小 -->
            <maxFileSize>1MB</maxFileSize>
        </rollingPolicy>
    </appender>
    <!--
        level:设置打印级别,默认debug;大小写谁便(选择前面的还可以出现后面的,反之不行):
               all < trace < debug < info < warn < error < off
        <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制
    -->
    <root level="All">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

③在代码中获取日志的对象。该程序是获得Test类的日志对象。

public class Test {
    //创建Logback的日志对象,代表日志技术

   public static final Logger LOGGER=LoggerFactory.getLogger("Test.class");
    public static void main(String[] args) {
        try{
        LOGGER.debug("main方法开始执行......");
        LOGGER.info("我开始记录第二行日志,我要开始做除法......");//都可打印日志,级别不同
        int a=10;
        int b=0;
        LOGGER.debug("a="+a);
        LOGGER.debug("b="+b);
        System.out.println(a/b);
        }catch (Exception e){
            e.printStackTrace();
            LOGGER.error("功能异常"+e);
        }
    }
}

 打印在控制台上:

 打印在对应文件中:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值