JUL日志简易上手使用(上)

Java日志系列——概述,JUL 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。在计算机中,日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息的文件。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件。自定义的继承关系取决于你的名称的层级关系}... 阅读详情

一JUL是什么?

java.util.Logging 看名字就知道是Java原生的日志框架。不需要使用第三方库,小型简单,是他的优点,也是我为什么选择学习并记录这个日志类。

二JUL框架

JUL一般包含
Logger(记录器) :我们通过logger的api发布日志,logger也是我们日志程序的一个入口。
Handler:logger关联一个handler,logger把日志交给handler处理,handler负责做记录。handler的具体实现决定了日志处理方式。这么设计感觉有一点儿体现了策略设计模式。通过不同的委托实现功能。
Level:日志级别。
Filter: 过滤器,根据需要决定哪些需要被记录。
Formatter:输出格式控制

三.简单创建一个日志并记录一点信息

简单来说就是两步
1.获取Logger logger,这要用静态方法。
2.记录日志:logger.info/logger.log

Logger log = Logger.getLogger();//这里是静态方法
log.info(消息);//记录消息。
log.log();//也是记录有很多重载方法。

log的overload
log(Level level,String msg);
level本条日志级别,msg日志
log(Level level,String msg,Object[] param)
msg作为格式占位符,输出param信息

四.日志级别

JUL提供了七个级别
LEVEL是一个枚举类型,可以枚举
1.SEVERE 严重错误信息终止程序
2.WARNING 程序出错,不会终止
3.INFO 消息记录(默认取值)
4.CONFIG 配置信息,加载配置文件之类的
5.FINE FINEST FINER Debug需要信息记录
6.ALL 开启所有日志级别的开关,不在单条日志使用
7.OFF 关闭所有日志记录,不在单条日志使用
嘛,每个级别对应一个整数,也正是靠整数比较确定该日志是否会记录。
OFF对应 Integer.MAX,所以所有日志都不会高于这个级别,都不会记录
而ALL对应Integer,MIN,所有日志都会记录。
通过log.setLevel();可以更改级别
有意思的是,你可以尝试修改log.setLevel(Level.WARNING)发现的确只输出SEVERE WARNING
但你如果设置CONFIG的话,你会发现没有变化,这是因为日志过滤是由log和Handler协作完成的。不仅Logger有Level的概念,JUL中的另一组件Handler也有Level的概念,Logger对message的输出最终是通过Handler来进行实际操作的,在输出的过程中,Handler组件依然会判断当前需要输出的日志级别跟Handler自身的级别相比是高还是低,只有当前需要输出的日志级别高于或者等于Handler自身的日志级别才会进行输出

五.自定义一些设置

额,默认的是记录info,输出控制台,格式也不能变,过于无聊,我们需要自定义输出级别,格式,位置。
前面已经说了logger就是个入口,内部有Handler完成,我们就是配置Handler
Handler类
ConsoleHandler //输出到控制台
FileHandler // 文件输出
//完整的自定义级别
Logger类的setlevel
Handler setlevel 都使用
//修改输出格式
由Formatter抽象负责完成
在这里面
Handler由Logger绑定 addhandler()方法
Formatter由Handler绑定 setformatter()
嘛,方法名也可以看出Logger对Handler一对多
举个例子


Logger log = Logger.getLogger("");
log.setUseParentHandler(false); //这个将在下一篇描述,关闭系统默认设置,log是由父节点的
ConsoleHandler ch = new ConsoleHandler();
SimpleFormatter sf = new SimpleFormatter();//格式类,使用简单格式
//绑定
ch.setFormatter(sf);
log.addHandler(ch);
//配置级别
ch.setLevel(Level.All);
log.setLevel(Level.All);
//在创建一个文件输出
FileHandler fh = new FileHandler("/xxxx/xxxx/xxx");
//绑定
sh.setFormatter(sf);
log.addHandler(sh);
//配置级别
ch.setLevel(Level.All);
log.setLevel(Level.All);

额,基本上就可以用了,如果还想知道JUL内部一些实现,我将会写第二篇,去看第二篇吧。
PS.也可能不写,毕竟我的博客跟JUL一样,都是我自娱自乐,基本没人用,我从来自己写给自己看的。为什么要我这儿看JUL呢?log4j不强大吗?别人的视频不完备吗?只能说明我们都是懒狗,想快速掌握一门能用简单的东西,所以你看JUL博客,我写JUL博客,至于之后的探究,就看我们的心情吧。
嘛,看完的人你已经学会创建日志,记录日志,自定义一些内容了。为什么还想看下一篇呢?(笑)没有下一篇也无所谓了吧

新手必看!手把手教你如何在飞牛NAS上玩转Docker容器!(飞牛Nas(fnOS)如何创建Docke容器以及Compose部署项目) 阅读详情

相关推荐

无人机航拍图像匹配——SIFT算法实践(含代码)

无人机航拍图像匹配——SIFT算法实践(含代码)

zhangzhao147的博客 6395

Java Logging之JUL系列——Handler

前面的文章我们提到过,Handler是真正执行日志输出操作的地方,JUL中的Handler由java.util.logging.Handler抽象类来表示。有两个实现类直接继承自Handler,分别是StreamHandler和MemoryHandler,而StreamHandler又有三个直接子类分别是ConsoleHandler,FileHandler以及SocketHandler。 Hand...

Just Do IT 7941

CH582低功耗实战:从1.2mA降到5uA,我的蓝牙广播功耗优化笔记

本文详细记录了沁恒CH582蓝牙芯片从1.2mA降至5μA的功耗优化全过程。通过建立基准测试环境、分层排查软件配置与IO状态、精细调优射频参数以及硬件层面的电源管理,实现了极致的低功耗表现。文章还提供了实用的功耗测量方法和典型问题排查指南,为蓝牙设备开发者提供了宝贵的参考经验。

weixin_30368405的博客 573

Java日志(一):JUL

JULJava日志框架日志框架需要解决的问题:现有日志框架日志门面日志实现JUL简介JUL使用日志框架原理JUL配置自定义日志级别Logger之间的父子关系日志配置文件 Java日志框架 日志框架需要解决的问题: 控制日志输出的内容和格式 控制日志输出的位置 日志优化:异步日志,日志文件的归档和压缩 日志系统的维护 面向接口开发 – 日志的门面 现有日志框架 JUL(java util logging)、logback、log4j、log4j2 JCL(Jakarta Commons Logging)、

yonggang7的专栏 521

全局特征描述子 CVFH (Clustered Viewpoint Feature Histogram) 原理

特性VFHCVFH处理对象整个物体点云物体点云被分割后的稳定表面块(簇)对遮挡的鲁棒性弱。遮挡会破坏全局形状,导致描述子失效。极强。只依赖于稳定存在的部分。描述子维度263 维308 维 (263 + 45 SC)输出数量一个物体产生1 个描述子一个物体可能产生多个签名计算复杂度相对较低较高(需先聚类)主要应用场景完整、分割良好的物体存在遮挡、背景杂波的不完整物体。

weixin_37079656的博客 620

音视频入门:H264、H265概念总结

添加链接描述 什么是H.264与H.265 H.264与H.265都是视频压缩格式,由于视频本身的码流太大,所以需要经过压缩然后再通过网络进行传输。H.264是目前比较主流的压缩算法,像视频会议设备一般都采用这个编码格式。基础的H.264可以支持在1M带宽下传输720P30帧/秒的图像;H.264 HIGH PROFILE支持在512K带宽下传输720P30帧/秒的图像。 H.265是比较新的压缩算法,可以更一步提高压缩比,随着我们现在生活中出现的视频格式越来越大(比如现在基本都是1080P甚至4K的显示器

weixin_40673765的博客 8937

JUL日志配置

JUL日志组件 大体执行过程

qq_43750656的博客 1392

通信原理 | python调制识别数据及代码

数据集包含了从-20dB 到+18dB 总共 20 个信噪比(步长为 2)下的 11 种调制信号, 包括 AM-DSB、 AM-SSB 和 WBFM 三种模拟调制信号,以及 BPSK、 QPSK、 8PSK、 CPFSK、 GFSK、 PAM4、 QAM16 和 QAM64 八种数字调制信号。其中信号的中心频率为 200KHz,采样频率为 1Msamp/s,且每个信噪比下每种调制信号包含 1000 个信号。其中每个信号包含 IQ 两路数据,且每一路数据都包含有 128 个采样点。

若北辰 1758

JUL自定义配置文件中的文件输出

JUL自定义配置文件中的文件输出

Leon_Jinhai_Sun的博客 297

[毕设项目-大模型微调]现代文翻译文言文【基于LLaMA3.1-8B微调】

教你基于LLaMA3.1-8B微调如何做到现代文翻译文言文

逐梦苍穹的博客 2297

AD18软件——捕捉栅格、电气栅格、可见栅格的意义及设置

本文介绍了PCB设计中的三种栅格功能:可视栅格用于辅助定位(快捷键Shift+Ctrl+G),捕捉栅格控制光标移动间距(快捷键G),电气栅格实现元件自动吸附(快捷键Shift+E)。同时提供了在Altium Designer中快速查找相同网络标号的两种实用方法:Alt+鼠标单击或双击网络。这些功能可显著提高PCB设计效率和准确性。

qq_37999850的博客 646

JUL日志框架

JUL全称,是java原生的日志框架,使用时不需要另外引用第三方类库,相对其他日志框架使用方便,学习简单,能够在小型应用中灵活使用。1、Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来来发布日志信息。Logger通常时应用程序访问日志系统的入口程序。2、Appenders:也被称为Handlers,每个Logger都会关联一组Handlers,Logger会将日志交给关联Handlers处理,由Handlers负责将日志做记录。...

兮动人 1040

Unity Shader之路(一)什么是Unity Shader?

Unity Shader前言什么是UnityShaderUnity Shader和材质的关系 前言 众所周知,要想当游戏开发工程师,Unity中的Shader编写不得不摸,这一系列文章我将描写我的Shader学习之路,致敬冯乐乐的书Unity Shader入门精要,此篇什么是Unity Shader?希望能给后人一点方向 我们刚开始接触Unity的时候,总是会遇到材质,但是不了解材质都是什么,为什么可以在很多材质中选择,为什么有时候选择了其他材质后就不能达到我们想要的结果,为什么资源商店有那么多的材质,山.

TurboQ珞珈 2240

java日志框架之JUL(Logging)

JUL全程,它是java原生的日志框架,使用时不需要另外引用第三方的类库相对其他的框架使用方便,学习简单,主要是使用在小型应用中Logger:被称为记录器应用程序通过获取Logger对象,调用其API来发布日志信息Logger通常被认为是访问日志系统的入口程序Handler:处理器每个Logger都会关联一个或者是一组HandlerLogger会将日志交给关联的Handler去做处理,由Handler负责将日志做记录Handler具体实现了日志的输出位置,比如可以输出到控制台或者是文件中等等。

从基础到源码解析的学习记录 2579

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【JAVA日志框架】JUL,JDK原生日志框架详解。

Java日志体系混乱?系列文章第一篇,五分钟,快速掌握JDK原生日志框架——JUL。

BugMan的博客 5199

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

为什么程序需要记录日志 我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统监控和异常分析起着至关重要的作用; 就拿java来说,在早期的日志都是通过System.out.println()进行记录的,但是这种方式不便于管理,所以apache最先开发了首个日志框架:log4j; 为日志框架奠定了基础; 日志框架出现的历史顺序为 : log4j → JUL → JCL → SLF4J →

叶新东老师的博客 5418

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【Java日志系列】JUL日志框架

Java Util Logging (JUL) 是Java平台自带的一个日志框架,无需额外依赖第三方库即可使用。由于其集成度高、配置简单的特点,JUL在一些小型项目或初学者入门阶段非常受欢迎。本文将详细介绍JUL的基本概念、常用组件以及如何通过示例代码来理解和使用这些组件。此外,我们还会探讨如何通过配置文件来自定义日志行为,这对于实现更加灵活的日志管理至关重要。

记录了个人在学习生活中的所思所想,在反思自己的同时希望也能够帮到你 9436

日志框架(1) : 日志介绍、JUL框架

1.第一章 日志简介 1.1日志概述 只要程序员投身在实际的学习和生产环境中,就会对日志的重要性有着充分的认知,尤其是对于Web以及更高级的应用。在很多情况下,日志可能是我们了解应用如何执行的唯一方式。 但是现实是很多程序员对于日志的记录的认知比较肤浅,认为日志的记录输出是一件很简单而且会自动发生的事情,所以会经常忽略和日志相关的问题。 Java语言的强大之处就是因为它强大而且成熟的生态体系。其中包括日志框架,就有很多成熟的开源资源可以直接使用。 1.2日志文件 日志文件是用于记录系统操作事件的文件集

Guizy 1483

java日志:一、JUL使用

java日志:一、JUL使用 1 介绍 JUL全称java util Logging,是java原生的日志框架,使用时不需要引入三方类库,相对其他日志框架使用方便。 2 架构介绍 Application->Logger->Handler->Outside World Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来发布日志信息。Logger通常是应用程序访问日志系统的入口程序。 Appenders:也被称为Handlers,每个Logger都会关联一组Hand

a232884c的博客 1796

Spring Boot 如何使用 JUL 进行日志记录

在本文中,我们介绍了如何在 Spring Boot 中使用 JUL 进行日志记录,并提供了示例代码。JUL 是 Java 平台自带的日志框架,提供了简单的 API 和配置,可以轻松地进行日志记录。通过配置和使用 JUL,我们可以更加方便地进行日志记录,提高应用程序的可维护性和可靠性。

Java徐师兄的博客 927

日志框架(一)JUL

一、日志的概念 1. 日志文件 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。 在计算机中,日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息的文件。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件。 许多操作系统,软件框架和程序包括日志系统。广泛使用的日志记录标准是在因特网工程任务组(IETF)RFC5424中定义的syslog。syslog标准使专用的标准化子系统能够生成,过

Zack_tzh的博客 2万+

Java 日志框架 JUL 详解大全

JUL(Java util logging),Java 原生日志框架,不需要引入第三方依赖包,使用简单方便。

陈皮的JavaLib 2400

一文详解Java日志框架JUL

JUL(Java util logging),Java原生日志框架,不需要引入第三方依赖包,使用简单方便。

华为云官方博客 1480

Java日志体系---JUL源码解析

在软件开发过程中日志记录是必不可少的一部分。作为一个合格的软件开发者(Java),有必要深入了解一下Java的日志体系。本文将详细的介绍我在学习JUL时的一些方法和心得。 一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标: 对程序运行情况的记录和监控; 在必要时可详细了解程序内部的运行状态; 对系统性能的影响尽量小; 个人觉得记录日志最重要的目的在于记录程序运行的信...

玄灵斩仙剑的博客 2万+

JUL、JCL、Log4j、Slf4j各种日志框架的使用

java中存在各种各样的与日志有关的框架,如: JUL:Java Util Logging。 JCL:Jakarta Commons Logging,也可称为"Apache Commons Logging"。 Log4j Log4j2 Logback Slf4j JUL的使用 JUL是jdk自带的无需引入第三方的jar。 package com.morris.spring.log; import java.util.logging.Logger; public class J

morris 1986

【日志框架-笔记】JUL日志框架的介绍及其使用

JUL 全称 Java Util Logging 是Java原生的日志框架,使用时不需要另外引入第三方类库,相对于其他日志框架来说使用方便,学习简单,能够在小型应用中灵活使用。

qq_63691275的博客 1472
上一篇: 探究一下try返回后finally还能返回是怎么在java虚拟机实现的?
下一篇: 泛型类型擦除的愚蠢
入过栈你
博客等级 码龄7年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值