`
- 浏览:
33356 次
- 性别:
-
- apache的log4j与jdk自带的logger的简单使用
- 一,jdk自带的logger
- ①:获取实例
- 调用Logger类的getLogger获取实例,参数通常传当前的完全类名作为该logger的名字。
- 将logger的实例设为全局 final static Logger logger = Logger.getLogger(LogTest.class.getName());
-
- ②:logger的属性配置
- jdk自带logger的实例可配置的属性有
- setFilter(Filter filter)
- setLevel(Level level)
- addHandler(Handler handler)
- setParent(Logger parent)
-
- --filter
- 其中设置filter和设置level的作用相同,设置filter要求实现Filter接口方法,我们可以在方法中
- 实现判断输出的日志记录的等级是否高于我们想要打印的日志等级即可
- 例如:
- logger.setFilter(new Filter() {
- public boolean isLoggable(LogRecord record) {
- Level l = record.getLevel();
- return l.intValue()>Level.INFO.intValue()?true:false;
- }
- });
-
- --level
- 设置level的作用也是过滤,当要打印日志的等级低于设置的level的值时,日志记录不会被打印。
- 例如:
- logger.setLevel(Level.warning);
- logger.info("print log ");
- 日志等级被设置为警告,但是日志打印时使用的是info,则该条日志不会被打印,通常的做法是
- 为不同的的环境比如开发环境和线上环境设置不同的level。
-
- --handler
- 设置handler比较重要,Handler是一个抽象类,jdk中的实现类有ConsoleHandler,FileHandler,SocketHandler
- 等,Console和File在项目中较常用到,其他未深看。ConsoleHandle表示打印到控制台,FileHandle表示打印到文件
- 在Handle实例中,我们可以设置编码和打印格式等,设置打印格式setFormatter(Formatter f),重写Formatter类的format方法,可以设置日志的打印格式,
- 例如:
-
- FileHandler .setFormatter(new Formatter() {
- @Override
- public String format(LogRecord record) {
- String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
- int theadid=record.getThreadID();
- String loggerName = record.getLoggerName();
- long sequenceNumber = record.getSequenceNumber();
- String message = record.getMessage();
- StringBuffer sb = new StringBuffer();
- return time+"--"+theadid+"--"+loggerName+"--"+sequenceNumber+"--"+message+"\n";
- }
- });
- 使用该格式打印出来的日志如下:
- 2015-10-14 11:36:02--10--com.ucf.LogTest--0--
- 格式可以根据需要自行设置
- --parent
- setParrent(Logger logger)表示可以设置已有的logger实例作为自己的父配置,设置后可以继承
- 父配置的所有配置
- ---
- 通常会使用配置文件的方式,编写log4j.properties文件,保证其在classpath下就可以,而不用上面的硬编码的方式。
-
-
- 二,apache的log4j
-
-
-
-
-
-
-
-
-
-
-
-
-
-
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
java 日志打印+持久化
日志打印日志打印日志打印日志打印日志打印日志打印日志打印日志打印
Java日志数据脱敏是为了确保在记录日志时,敏感信息不会被泄露,从而保护用户隐私和企业数据安全。在本文中,我们将探讨如何在Java应用程序中实现这一目标。 首先,理解数据脱敏的重要性至关重要。在处理包含敏感...
5. **系统日志**:查看系统的错误日志,尤其是Java的`javaws.log`或`java.exe`的日志,这些可能会提供有关打印失败的具体原因。 6. **测试示例代码**:可以使用Java提供的打印示例代码测试打印功能,以排除应用程序...
浅谈Java日志格式化 在软件开发中,日志是一个非常重要的数据,特别是在程序发生异常时,日志可以提供非常有价值的信息。但是,并不是打印的日志越多越好,我们需要的是有用的日志。下面我们来讨论一下Java日志格式...
在Java编程中,日志记录是一项非常重要的任务,它帮助开发者追踪程序运行状态,调试问题,以及记录系统事件。在Swing应用中,我们同样可以使用Java内置的`java.util.logging`包来输出错误日志。这篇文档主要讨论了...
java企业级日志打印组件,解压到本地修改mysql连接即可直接跑起来,整合到项目里面非常简单,可以参考靠链接:https://blog.csdn.net/qq_33313357/article/details/120786456
本文将详细介绍如何在IntelliJ IDEA中配置MyBatis日志打印,以便完整地输出SQL。 首先,我们需要了解MyBatis的日志系统。MyBatis支持多种日志实现,包括Log4j、Logback和Java内置的日志API。默认情况下,MyBatis会...
JAVA日志框架适配-冲突解决方案 本文将对JAVA日志框架适配中可能出现的冲突进行分析和解决,涵盖日志框架的基本概念、常见的冲突原因和解决方案。 日志框架的基本概念: 在JAVA中,日志框架可以分为两种:日志...
在IT行业中,日志管理是一项至关重要的任务,尤其对于系统监控、故障排查和性能优化而言。这个名为"一个做界面 日志管理好的例子"的压缩包文件提供了关于如何实现一个全面的日志管理系统的一些实例和资源。下面将...
自定义日志模块(接口及代理实现),而不直接使用第三方日志框架接口,避免在日志框架升级或者切换时,代码过多耦合。 这个举例说明一下: 比如,在某一项目开始时使用的是“log4j”框架,后面经过研究发现“sf4j...
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...
日志打印文件log4j日志打印文件log4j日志打印文件log4j日志打印文件log4j日志打印文件log4j
在Java编程环境中,打印功能是不可或缺的一部分,尤其是在处理POS(Point of Sale)系统或小票打印时。"JAVA打印串口包"是一个专门用于通过串行接口与打印机进行通信的工具包,它允许开发者实现从Java应用程序直接...
本示例将详细介绍如何在Java项目中使用Log4j进行日志打印。 首先,Log4j的核心组件包括配置文件(通常为`log4j.properties`或`log4j.xml`)、Logger、Appender和Layout。配置文件定义了日志信息的输出方式、目的地...
这篇博客“java日志处理类”可能涵盖了如何在Java应用中有效地管理和使用日志的相关知识。 在Java中,有几个常见的日志框架,如Log4j、Logback、Java内置的java.util.logging(也称为 JUL)等。这些框架提供了不同...
01-日志专题-java日志体系基础 ---01-课程简介及学习目标.mp4 ---02-java日志体系概述.mp4 ---03-系统日志与log4j日志简介.mp4 ---04-log4j实例代码展示.mp4 ---05-jul的诞生与代码展示.mp4 ---06-jcl的历史背景与...
7. **设置additivity属性**:在log4j.xml配置文件中设置additivity属性为false,避免重复打印日志。 通过遵循这些规范和技术实践,我们可以构建一个高效、清晰且易于维护的日志系统,这对于提高系统的稳定性和可...
### Java Filter 打印请求返回参数详解 #### 一、背景与目的 在Web开发过程中,经常需要在请求处理流程中增加一些通用的功能,比如日志记录、性能监控、安全控制等。Java Servlet规范提供了Filter机制来实现这些...