java中logger_Java日志系统 简单介绍

news/2024/11/17 21:49:23/

一、简单介绍

什么是logger?

  • logger是JDK自带的日志工具类。
  • 在 java.util.logging 包下。

logger的作用?

  • Logger类用来记录某个级别的日志消息

二、 日志消息的级别

(从上往下,级别依次降低,只有显示比当前级别高的日志消息)

  1. SEVERE        严重信息
  2. WARNING        警告信息
  3. INFO(默认级别)      一般信息
  4. CONFIG      设定方面的信息
  5. FINE         细微的信息
  6. FINER     更细微的信息
  7. FINEST         最细微的信息

级别补充:

  • OFF:用来关闭日志
  • ALL:用来启用所有消息的日志记录

三、Logger是如何记录日志的?

Logger记录的日志消息会被转发到已注册的Handler对象,Handler对象可以将消息发送到:控制台,文件,网络等等。

Handler类
MemoryHandler类StreamHandler类

SimpleFormatter类:

为日志信息做纯文本形式格式化处理

XmlFormatter类:

为日志信息做XML形式格式化处理

ConsoleHandler类:

将日志消息打印到控制台

FileHandler类:

  • 将日志消息输出到文件
  • 默认格式是XMLFormatter

SocketHandler类:

  • 将日志发送到网络中的某个主机
  • 默认格式是SimpleFormatter

package chapter07;import java.io.IOException;import java.util.logging.FileHandler;import java.util.logging.Logger;/*** @author Administrator* 将日志记录写入到文件中* 测试程序 */public class TestLoggingToFile {public static void main(String[] args) throws SecurityException, IOException {//日志记录器Logger logger = Logger.getLogger("chapter07");//日志处理器FileHandler fileHandler = new FileHandler("d:\\test.txt");//需要记录的日志消息LogRecord lr = new LogRecord(Level.INFO, "This is a text log.");//为处理器设置日志格式:FormatterSimpleFormatter sf = new SimpleFormatter();fileHandler.setFormatter(sf);//注册处理器logger.addHandler(fileHandler);//记录日志消息logger.log(lr);}}

四、简单用法 

static Logger getLogger(String name);
//查找或创建一个logger。同一个名称的Logger只能创建一个
static Logger getLogger(String name, String resourceBundleName);
//为指定子系统查找或创建一个logger。//调试日志,使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类
private final static Logger logger = LoggerFactory.getLogger(xxxController.class);logger.setLevel(Level level);//设置logger的日志级别//msg:字符串参数,表示要记录的日志消息
//*args:可变数量的位置参数
//**kwargs:可变数量的关键字参数
logger.debug(msg, *args, **kwargs);//打印调试信息,通常用于诊断问题。
logger.info(msg, *args, **kwargs);//打印一般信息,通常用于输出程序运行状态。
logger.warning(msg, *args, **kwargs);//打印警告信息,通常用于处理非致命错误。
logger.error(msg, *args, **kwargs);//打印错误信息,通常用于处理致命错误。
logger.critical(msg, *args, **kwargs);//打印严重错误信息,通常用于处理导致程序崩溃的错误。


http://www.ppmy.cn/news/383947.html

相关文章

Spark SQL数据源:Hive表

文章目录 一、Spark SQL支持读写Hive二、Spark配置hive-site.xml三、准备工作(一)启动Hive的metastore(二)启动Spark Shell 四、Spark读写Hive数据(一)导入SparkSession(二)创建Spar…

创新方案|时尚品牌企业应用生成式AI的6大机会领域

探讨生成式人工智能(Generative AI)在时尚产业中的应用,以及它对设计、生产和销售过程的影响。通过使用生成式AI技术,时尚品牌可以更快地设计和生产出更加个性化和符合潮流趋势的产品,同时减少浪费和成本。文章还介绍了…

显卡之黄金宝典(转东转西)

第一章 . 显卡工作原理 一 . 既然是说显卡的工作原理,那就先要讲讲显卡的定义 显卡( Video card , Graphics card ),也可以说是显示卡,图形适配器等等,是 PC 的一个重要部分,我的理解…

软件测试金融银行项目如何测?从业务到测试实战,超细总结整理...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 金融行业的业务特…

不能用主机名访问跨网段的网站服务.

这两天发现在公司外当我使用SSL 接入到公司内网后, 不能直接使用主机名访问在公司总部的跨网段的劳动力管理系统的测试环境了.一开始没当回事,每次修改DNS为公司内网的DNS就可以了.可是时间长了,即使我是IT人员,我也觉着不方便了,于是就想知道为什么,开始用心的分析原因了.我们…

PC使用--记录电脑硬件使用问题

两次遇到windows卡在启动界面 以前, 买了块声卡, 装电脑上后, 系统运行一段时间后,如果重启, 会卡在启动界面, 就是win7那四个小方块那里。 关电源后,拿电扇对着主机吹上5分钟, 才能正常开机。 开始我不知道是声卡问题, 一直以为是显卡导致的, 因为GT…

阿里卜居:从Caffe开始深度学习实战,徒手hack代码乐趣更多

阿里云工程师卜居接受CSDN记者专访,介绍了他在深度学习领域的实践经验和成长心得,以及完成Caffe著作背后的原因和故事。 从Geoffrey Hinton 2006年的论文算起,这一波深度学习(DL)浪潮才10年,而如果只算国内…

从Caffe开始深度学习实战,徒手hack代码乐趣更多

从Geoffrey Hinton 2006年的论文算起,这一波深度学习(DL)浪潮才10年,而如果只算国内,深度学习的流行也不过5年,尽管如此,深度学习现在已经扎根中国互联网,成为BAT、京东、360、今日头…