龙空技术网

log4j的使用

礼成 206

前言:

眼前小伙伴们对“apache的logger使用”可能比较重视,同学们都想要了解一些“apache的logger使用”的相关内容。那么小编在网摘上收集了一些关于“apache的logger使用””的相关内容,希望小伙伴们能喜欢,大家快快来了解一下吧!

初识log4j

log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

新建一个maven项目

打开idea,新建一个maven项目,名字任意。

我这里把它取名为log4jTest

下一步之后点finnish完成。

这样我们就建好一个maven工程了。这里补充一句:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

生成之后的目录

这里我们通过编写pom.xml文件进行log4j包的导入。需要说明一点的是,apache公司在2012年就已经停止了对log4j的更新,因为1.2.17版本已经是非常完善的一个版本了。

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns=";

xmlns:xsi=";

xsi:schemaLocation=" ;>

<modelVersion>4.0.0</modelVersion>

<groupId>com.test</groupId>

<artifactId>log4jTest</artifactId>

<version>1.0-SNAPSHOT</version>

<dependencies>

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

</dependencies>

</project>

在右侧maven-->log4jTest里面就能看到dependencies文件夹,里面就是已经导进来的包。

log4j.properties文件的编写

接下来要配置log4j的配置文件,控制log4j的输出只需要通过配置文件的编写。

在src-->main里面有个resource文件夹,里面的文件在运行的时候会被添加到classpath路径里面。所有的配置文件都应该被放在里面,否则程序在运行时可能会找不到配置文件而报错。(添加了过滤除外)

在resources上右键,新建一个名为log4j.properties的文件。

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码

log4j.rootLogger=DEBUG,console,file

#控制台输出的相关设置

log4j.appender.console = org.apache.log4j.ConsoleAppender

log4j.appender.console.Target = System.out

log4j.appender.console.Threshold=DEBUG

log4j.appender.console.layout = org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=[%c]-%m%n

#文件输出的相关设置

log4j.appender.file = org.apache.log4j.RollingFileAppender

#下面的语句是将在项目目录里面一个名为log的文件夹下创建一个finnian.log的文件,文件里面就是输出的日志。

log4j.appender.file.File=./log/finnian.log

#单个文件最大值为10mb

log4j.appender.file.MaxFileSize=10mb

log4j.appender.file.Threshold=DEBUG

log4j.appender.file.layout=org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n

#日志输出级别

log4j.logger.org.mybatis=DEBUG

log4j.logger.java.sql=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.ResultSet=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

log4j实现

在java文件下创建测试类

定义主方法,且要注意包是apache下的包

import org.apache.log4j.Logger;

public class test {

public static void main(String[] args) {

System.out.println("hello world");

Logger logger = Logger.getLogger(test.class);

logger.info("info:主函数运行");

logger.debug("Debug:主函数运行");

logger.error("error:主函数运行");

}

}

logger中可以选择不同等级的日志标记:info,debug,error。

运行结果

在运行之后就可以正常显示

且在finnian.log文件中

标签: #apache的logger使用