Log4j:
Log4j的使用分为以下几步:
1.)加载相应的Jar文件,包括:Log4j的核心Jar包,Log4j.jar等。
2.)设置配置文件以对Log4j进行配置。
3.)用import导入Log4j需要使用的相关的类
4.)载入配置文件。可以通过PropertyConfigurator.configure(String configFilename);或使用缺省环境的配置
5.)获取日志记录器Logger的对象。
6.)利用记录器生成日志信息,当以上几个步骤都执行完毕后,便可以轻松地使用不同优先级别的日志记录语句插入到想要记录日志的地方去了。
下面是一个配置文件的例子
log4j.rootLogger=debug,appender1//设置输出的级别及输出的对象
log4j.appender.appender1=org.apache.log4j.FileAppender//信息到什么地方去处理
log4j.appender.appender1.File=c:/demolog4j.html//信息存放到什么地方
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout//信息输出的样式是什么
Log4j的核心类
Logger:用于完成日志信息的处理。
如:log4j.rootLogger=debug,appender1
配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName2
level:日志的级别,指定这条日志信息的重要性。分为ALL < DEBUG < INFO < WARN <ERROR < FATAL < OFF
一般常用的为 DEBUG , INFO ,WARN ,ERROR四种,分别对应Logger类的四种方法
debug(Object message ) ;
info(Object message ) ;
warn(Object message ) ;
error(Object message ) ;
如果设置级别为INFO,则优先级大于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如:DEBUG将不会被输出
appenderName :就是指定日志信息输出目的地,比如(打印到控制台,输出到文件等)。同一条日志信息可以配置多个输出目的地。
Appender:设置日志信息的去向,日志信息放到那里去,是终端去输出,还是说保存到一个文件
log4j.appender.appender1=org.apache.log4j.FileAppender//信息以文件方式处理保存
log4j.appender.appender1.File=c:/demolog4j.html//信息保存到什么地方去
Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Layout:设置日志信息的输出样式,你是希望输出一个什么样式的信息。设置每条信息输出的一个样式
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout
Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
当使用org.apache.log4j.PatternLayout来自定义信息格式时,可以使用
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 来格式化信息
%c 输出所属类的全名,可写为 %c{Num} ,Num类名输出的范围 如:"com.sun.aaa.classB", %C{2}将使日志输出输出范围为:aaa.classB
%d 输出日志时间其格式为 可指定格式 如 %d{HH:mm:ss}等
%l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
%n 换行符
%m 输出代码指定信息,如info(“message”),输出message
%p 输出日志的优先级,即 FATAL ,ERROR 等
%r 输出从启动到显示该条日志信息所耗费的时间(毫秒数)
%t 输出产生该日志事件的线程名
这三个核心怎么去用呢,实际上是都是通过Log4j的配置文件来配置的。
Log4j在程序中的使用示例:
package com.study;
/**导入Log4j需要使用的相关的类*/
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
/**
* <p>Title: Log4j例子</p>
* <p>Description: 快速在程序中使用Log4j</p>
* <p>Copyright: Copyright (c) 2004</p>
* @author Robin
* @version 1.0
*/
public class HelloLog4j {
//定义日志记录器logger,所有的日志由它来负责记录,
static Logger logger=Logger.getLogger(HelloLog4j.class.getClass());
public static void main(String[] args) {
//使用缺省环境来配置Log4j
BasicConfigurator.configure();
//使用配置文件来配置Log4j
//PropertyConfigurator.configure ( "D:\\testLog4j.properties" ) ;
//插入日志信息
logger.info("HelloLog4j开始执行");
try {
HelloLog4j helloLog4j1 = new HelloLog4j();
int count=helloLog4j1.count(1,-32);
logger.debug("count的值为:"+count);
}
catch (Exception e) {
logger.error("error"+e.getMessage());
}
logger.info("HelloLog4j执行完成");
}
/**
* 求两整数数之和
* */
public int count(int a,int b) {
int add=a+b;
if (add<0){
logger.warn("两数之和小于零");
}
return add;
}
}
分享到:
相关推荐
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文将详细讲解如何在Android项目中集成和使用Log4j。 首先,我们需要理解Log4j的基本概念。Log4j主要包括三个核心组件...
开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-core-2.3开发工具 log4j-...
Log4j、Log4j2和Fastjson是Java开发中常用的三个库,它们在软件开发中扮演着重要的角色。Log4j是Apache的一个开源项目,主要用于日志记录,提供了灵活的日志配置,允许开发者根据需求调整日志输出的级别和格式。Log4...
Log4j是一款广泛使用的开源日志框架,由Apache软件基金会开发。本文将深入探讨Log4j的基本概念、配置与使用方法。 1. **什么是Log4j** Log4j是一个基于Java的日志记录工具,它提供了灵活的控制来记录日志信息,...
9. **使用示例**: 在代码中,我们通常会这样使用Log4j: ```java import org.apache.log4j.Logger; ... private static final Logger logger = Logger.getLogger(MyClass.class); ... logger.info("This is an...
标题"log4j开发jar包"提到了"log4j",这是一个在Java开发中广泛使用的日志记录框架。"jar包"指的是Java Archive,是Java平台的标准打包格式,包含了编译后的类文件和其他资源。这里提到的两个版本,"log4j-1.2.15....
1. **引入依赖**:首先,你需要在项目中引入SLF4J和Log4j的依赖。对于Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.slf4j <artifactId>slf4j-api <version>1.7.x <groupId>org....
# 在代码中使用Log4j import org.apache.log4j.Logger; Logger logger = Logger.getLogger(MyClass.class); logger.info("This is an info message."); ``` 总结一下,`log4j-1.2.11.jar`和`commons-logging-1.0.4....
开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3开发工具 log4j-api-2.3...
《log4j中文手册》是Java开发人员必备的参考资料,它详细介绍了log4j这个广泛使用的日志记录框架。Log4j是Apache软件基金会开发的一个开源项目,主要用于生成应用程序运行时的日志信息,帮助开发者进行调试、性能...
这个“log4j示例项目”旨在帮助开发者理解和使用Log4j,通过该项目,我们可以深入学习Log4j的配置、使用方法以及其在实际开发中的应用。 **1. Log4j的组成部分** Log4j主要包括三个核心组件:Logger(日志器)、...
本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,用于生成日志。它的核心功能包括定义日志级别(如DEBUG、INFO、WARN、ERROR),配置日志输出目的...
本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...
3. **导入使用**:在Java项目中使用Log4j非常简单,只需要将`log4j-2.17.1.jar`文件添加到项目的类路径(Classpath)中。对于Maven或Gradle项目,可以在依赖管理中添加相应的依赖条目。 4. **配置文件**:Log4j 的...
使用这两个JAR文件时,需要确保在应用程序的类路径中同时包含它们,以便正确运行Log4j 2框架。配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别...
在使用log4j时,经常会在控制台或日志文件中看到乱码,尤其是在涉及中文字符的情况下。这通常是由于日志系统的字符编码设置与应用程序的字符编码不一致导致的。例如,如果应用程序使用的是UTF-8编码,而log4j默认...
在实际开发中,选择合适的Log4j版本至关重要,不仅要考虑其功能是否满足需求,还要关注其安全性。对于新项目,直接采用Log4j 2.x系列会是更好的选择,因为它提供了更好的性能、模块化设计以及持续的安全更新。而对...
开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 log4j-1.2.17开发工具 ...
在log4j.properties配置文件中,我们可以定义这些组件的具体行为。 二、log4j.properties文件结构 log4j.properties文件是基于文本的配置文件,主要包含以下几部分: 1. **全局配置**:设置默认的logger级别,...