Java基础:Logback日志框架

什么是日志

日志技术

可以将系统执行信息,方便的记录到指定位置(控制台,文件中,数据库中)

可以随时可以开关的形式控制日志的启停,无需侵入到源代码中去进行修改

LogBack日志框架


LogBack快速入门

logback.xml

bash 复制代码
<?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>D:/log/myjavaseproject147/day16-special-io.log</file>
     <!--指定日志文件拆分和压缩规则-->
     <rollingPolicy
             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
         <!--通过指定压缩文件名称,来确定分割文件方式-->
         <fileNamePattern>D:/log/myjavaseproject147/day16-special-io-%i-%d{yyyy-MM-dd}-.log.gz</fileNamePattern>
         <!--文件拆分大小-->
         <maxFileSize>1MB</maxFileSize>
     </rollingPolicy>
 </appender>

 <!--
     1、控制日志的输出情况:如,开启日志,取消日志
 -->
 <root level="debug">
     <appender-ref ref="CONSOLE"/>
     <appender-ref ref="FILE" />
 </root>
</configuration>

Test.java

bash 复制代码
public class Test {
 //1.创建一个lockback框架的Logger日志对象,来记日志
 private static final Logger log = LoggerFactory.getLogger("Test.class");
 public static void main(String[] args) {
     // 除法
     try {
         log.info("chu 开始执行");
         chu(10, 2);
         log.info("chu 执行成功");
     } catch (Exception e) {
//            e.printStackTrace();
         log.error("chu 执行失败了:" + e.getMessage());
     }


 }

 private static void chu(int a, int b) {
     log.debug("参数 a:", a);
     log.debug("参数 c:", c);
     int c = a/b;
     log.info("结果 c:", c);

 }
}

Logback设置日志级别


相关推荐
yudiandian20141 分钟前
03 Eclipse 配置 JDK 环境
java·ide·eclipse
_码力全开_1 分钟前
P1005 [NOIP 2007 提高组] 矩阵取数游戏
java·c语言·c++·python·算法·矩阵·go
陈一Tender5 分钟前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
Camel卡蒙5 分钟前
红黑树详细介绍(五大规则、保持平衡操作、Java实现)
java·开发语言·算法
jerryinwuhan9 分钟前
机器人模拟器(python)
开发语言·python·机器人
孤廖32 分钟前
吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比
java·开发语言·数据结构·c++·人工智能·深度学习·算法
我命由我1234534 分钟前
Android 对话框 - 对话框全屏显示(设置 Window 属性、使用自定义样式、继承 DialogFragment 实现、继承 Dialog 实现)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
驰羽40 分钟前
[GO]GORM中的Tag映射规则
开发语言·golang
Full Stack Developme44 分钟前
java.net 包详解
java·python·.net
非凡的世界1 小时前
深入理解 PHP 框架里的设计模式
开发语言·设计模式·php