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

Java日志系列——log4j(1.x版本,已停更,本文仅让大家简单使用和了解)

Java日志系列——log4j

  • Log4j
    • 依赖
    • Loggers
    • Appenders
    • Layouts
    • QuickStart

Log4j

Log4)主要由 Loggers (日志记录器)、Appenders(输出端)和Layout(日志格式化器)组成。
其中Loggers 控制日志的输出级别与日志是否输出
Appenders指定日志的输出方式(输出到控制台、文件等)
Layout控制日志信息的输出格式。

依赖

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

Loggers

日志记录器:负责收集处理日志记录,实例的命名就是类XX的full quailied name(类的全限定名),Logger的名字大小写敏感,其命名有继承机制和JUL一致。
Log4j中有一个特殊的logger叫做"root",他是所有logger的根,也就意味着其他所有的logger都会直接或者间接地继承自root
root logger可以用Logger.getRootLogger()方法获取。

Appenders

Appender和(JUL的Handler很像,用来指定日志输出到哪个地方,可以同时指定日志的输出目的地。Log4j常用的输出目的地有以下几种:

  1. ConsoleAppender:控制台
  2. FileAppender:文件
  3. DailyRollingFileAppender:日志文件,并每天更新一个新的日志文件
  4. RollingFileAppender:将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件
  5. JDBCAppender:数据库中

Layouts

相当于JUL中的Formatter,常用为SimpleLayouts

QuickStart

    @Test
    void test(){
        final Logger logger = Logger.getLogger(this.getClass());
        BasicConfigurator.configure();
        //fatal中文:致命的(4级词汇),这里表示最高级
        logger.fatal("fatal");
        logger.error("error");
        logger.warn("warn");
        logger.info("info");
        logger.debug("debug...");
        logger.trace("trace追踪。。。");
    }

在这里插入图片描述

相关文章:

  • Linux 多线程速度测试
  • 设计模式-策略模式、策略示例、策略模式对比工厂模式
  • 深入探讨go.mod +incompatible
  • maven的进阶学习
  • alluxio简单使用
  • Android基础入门教程——7.1.1 Android网络编程要学的东西与Http协议学习
  • 基于 R 语言的朴素贝叶斯介绍与实践
  • Android初学八之Android网络编程
  • Android 网络编程 记录
  • Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第13章 uni-app核心基础 13.3 常用特效
  • Oracle索引详解
  • R语言ggplot2可视化:去除可视化结果中的NA图例、删除缺失值图例
  • java生成带logo的二维码
  • RK平台UVC摄像头shell测试脚本
  • Kafka 0.11.0.2 安装备忘录
  • ----------
  • Android框架之Volley
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • css属性的继承、初识值、计算值、当前值、应用值
  • ESLint简单操作
  • Fastjson的基本使用方法大全
  • JS学习笔记——闭包
  • MySQL-事务管理(基础)
  • Python - 闭包Closure
  • React-Native - 收藏集 - 掘金
  • SwizzleMethod 黑魔法
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • uva 10370 Above Average
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 将 Measurements 和 Units 应用到物理学
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端临床手札——文件上传
  • 深度学习入门:10门免费线上课程推荐
  • 项目实战-Api的解决方案
  • 智能网联汽车信息安全
  • 自定义函数
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #laravel 通过手动安装依赖PHPExcel#
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2015)JS ES6 必知的十个 特性
  • (4)STL算法之比较
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (转)LINQ之路
  • (转)人的集合论——移山之道
  • ..回顾17,展望18
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core引入性能分析引导优化
  • .NET 发展历程
  • .NET6 命令行启动及发布单个Exe文件