【Java】Java(四十八):日志

这篇具有很好参考价值的文章主要介绍了【Java】Java(四十八):日志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。




【Java】Java(四十八):日志

1. 概述


程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储。

日志与输出语句的区别
【Java】Java(四十八):日志


2. 日志体系结构和Log4J

  • 体系结构
    【Java】Java(四十八):日志

  • Log4J
    Log4j是Apache的一个开源项目。
    通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等位置。
    我们也可以控制每一条日志的输出格式。
    通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。
    最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

  • Apache基金会
    Apache软件基金会(也就是Apache Software Foundation,简称为ASF),为支持开源软件项目而办的一个非盈利性组织。


3. 入门案例

  • 使用步骤

    1. 导入log4j的相关jar包
    2. 编写log4j配置文件
    3. 在代码中获取日志的对象
    4. 按照级别设置记录日志信息
  • 代码示例

    // 测试类
    public class Log4JTest01 {
    	//使用log4j的api来获取日志的对象
    	//弊端:如果以后我们更换日志的实现类,那么下面的代码就需要跟着改
    	//不推荐使用
    	//private static final Logger LOGGER =
    	Logger.getLogger(Log4JTest01.class);
    	//使用slf4j里面的api来获取日志的对象
    	//好处:如果以后我们更换日志的实现类,那么下面的代码不需要跟着修改
    	//推荐使用
    	private static final Logger LOGGER =
    	LoggerFactory.getLogger(Log4JTest01.class);
    	public static void main(String[] args) {
    	//1.导入jar包
    	//2.编写配置文件
    	//3.在代码中获取日志的对象
    	//4.按照日志级别设置日志信息
    	LOGGER.debug("debug级别的日志");
    	LOGGER.info("info级别的日志");
    	LOGGER.warn("warn级别的日志");
    	LOGGER.error("error级别的日志");
    	}
    }
    

4. 配置文件详解

  • 三个核心
    • Loggers(记录器) 日志的级别
      Loggers组件在此系统中常见的五个级别:DEBUG、INFO、WARN、ERROR 和 FATAL。
      DEBUG < INFO < WARN < ERROR < FATAL。
      Log4j有一个规则:只输出级别不低于设定级别的日志信息。
    • Appenders(输出源) 日志要输出的地方
      把日志输出到不同的地方,如控制台(Console)、文件(Files)等。
      • org.apache.log4j.ConsoleAppender(控制台)
      • org.apache.log4j.FileAppender(文件)
    • Layouts(布局) 日志输出的格式
      可以根据自己的喜好规定日志输出的格式
      常用的布局管理器:
      org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
      org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
      org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
  • 配置根Logger
    • 格式
      log4j.rootLogger=日志级别,appenderName1,appenderName2,…
    • 日志级别
      OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别。
    • appenderName1
      就是指定日志信息要输出到哪里。可以同时指定多个输出目的地,用逗号隔开。
      例如:log4j.rootLogger=INFO,ca,fa
  • ConsoleAppender常用的选项
    • ImmediateFlush=true
      表示所有消息都会被立即输出,设为false则不输出,默认值是true。
    • Target=System.err
      默认值是System.out。
  • FileAppender常用的选项
    • ImmediateFlush=true
      表示所有消息都会被立即输出。设为false则不输出,默认值是true
    • Append=false
      true表示将消息添加到指定文件中,原来的消息不覆盖。
      false则将消息覆盖指定的文件内容,默认值是true。
    • File=D:/logs/logging.log4j
      指定消息输出到logging.log4j文件中
  • PatternLayout常用的选项
    ConversionPattern=%m%n
    设定以怎样的格式显示消息





【Java】Java(四十八):日志文章来源地址https://www.toymoban.com/news/detail-474646.html

到了这里,关于【Java】Java(四十八):日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码随想录第四十八天

    题目链接 : 打家劫舍I 自己的思路 :想不太出来递推公式!!!! 正确思路 :这个题主要是看是否偷第下标为i的房间;直接动规五部曲:1、dp数组的含义:dp[i]表示从下标0到下标i(包括下标i,但不一定偷下标i)所能偷到的最大金钱数;2、递推公式:分为偷下标i和不偷下标

    2024年02月12日
    浏览(30)
  • leetcode解题思路分析(一百四十八)1289 - 1296 题

    下降路径最小和 II 给你一个 n x n 整数矩阵 grid ,请你返回 非零偏移下降路径 数字和的最小值。非零偏移下降路径 定义为:从 grid 数组中的每一行选择一个数字,且按顺序选出来的数字中,相邻数字不在原数组的同一列。 f[i][j] 表示从数组的前i行中的每一行选择一个数字,

    2024年02月09日
    浏览(28)
  • Apache Doris (四十八): Doris表结构变更-替换表

     🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客  🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。  🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

    2024年02月07日
    浏览(32)
  • 从零开始的力扣刷题记录-第四十八天

    给你一个下标从 0 开始的数组 nums ,数组大小为 n ,且由 非负 整数组成。 你需要对数组执行 n - 1 步操作,其中第 i 步操作(从 0 开始计数)要求对 nums 中第 i 个元素执行下述指令: 如果 nums[i] == nums[i + 1] ,则 nums[i] 的值变成原来的 2 倍,nums[i + 1] 的值变成 0 。否则,跳过

    2024年02月09日
    浏览(38)
  • 数字藏品可以用来干什么?

    一、作为数字收藏艺术品,满足收藏者的爱好。绘画、文物等艺术品是数字收藏品是最基础的应用,也是目前最受欢迎的种类,它与现实生活中的其他艺术品具有相似性,一样通过网上购买的方式获得。 数字藏品,虽然“摸不着”,但与传统艺术品相比较,又具有一定优势,

    2024年02月09日
    浏览(30)
  • C#是什么?可以用来做什么?

            C#(读作“C Sharp”)是一种容易使用不复杂新型的编程语言,不仅是面向对象,它的类型还安全。C# 源于 C 语言系列,C、C++、Java 和 JavaScript 程序员很快就可以上手使用。C# 是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和

    2024年02月21日
    浏览(28)
  • 文心一言可以用来论文降重吗

    大家好,今天来聊聊文心一言可以用来论文降重吗,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 文心一言可以用来论文降重吗?🔥🔥 对于许多写论文的朋友来说,降重是一项令人头疼的任务。而现在,随

    2024年03月14日
    浏览(51)
  • Java Logback日志框架概述及logback.xml详解

    日志技术具备的优势 可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。· 可以随时以开关的形式控制是否记录日志,无需修改源代码。 日志体系结构 Logback日志框架 Logback是由log4j创始人设计的另一个开源日志组件,性能比log4j要好 Logback是基于

    2024年02月10日
    浏览(39)
  • AIGC系列:1.chatgpt可以用来做哪些事情?

    上图的意思:神器轩辕剑 那么,在现在AI盛行的信息时代, 你是否知道如何获得和利用ChatGPT这一把轩辕剑来提升你的攻击力和生存能力呢? 程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD 架构师老李: 多个大型项目经验,精通各种开发架构屠龙宝术; 在未来的世

    2024年02月09日
    浏览(26)
  • AIGC内容分享(四十八):AIGC与创意设计之Canva:还是那个邻家女孩

    目录 亲切温暖的邻家女孩 魔法室里魔法多 体验篇之:Magic Design 体验篇之:Magic Edit 创作者激励计划 结语 平易近人、积极向上,如邻家女孩般温暖,这或许就是用户对 Canva 的整体印象。 如果Adobe是一个高高在上,优雅尊贵的大家闺秀,那Canva就像一个亲切温暖、平易近人的

    2024年01月24日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包