初识log4j
Posted 寻找的谢经理
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识log4j相关的知识,希望对你有一定的参考价值。
初识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"?>
<< span="">project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<< span="">modelVersion>4.0.0modelVersion>
<< span="">groupId>com.testgroupId>
<< span="">artifactId>log4jTestartifactId>
<< span="">version>1.0-SNAPSHOTversion>
<< span="">dependencies>
<< span="">dependency>
<< span="">groupId>log4jgroupId>
<< span="">artifactId>log4jartifactId>
<< span="">version>1.2.17version>
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文件中
以上是关于初识log4j的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识OpenGL 片段着色器(Fragment Shader)