初识log4j

Posted 寻找的谢经理

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识log4j相关的知识,希望对你有一定的参考价值。

初识log4j

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

新建一个maven项目

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


我这里把它取名为log4jTest

初识log4j

下一步之后点finnish完成。

初识log4j

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



生成之后的目录

初识log4j

这里我们通过编写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

初识log4j

log4j.properties文件的编写

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

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

初识log4j

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文件下创建测试类

初识log4j

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

初识log4j

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注入(代码片段

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL (-)纹理(Texture)