首页 > 代码库 > log4j日志工具

log4j日志工具

一、关于日志
1、日志定义:项目在运行阶段产生的信息
 
2、日志级别
最常见的日志级别有4个:
  error :错误日志
  warn:警告日志
  info:流程日志
  debug:调试日志
 
优先级从高到低分别是ERROR、WARN、INFO、DEBUG
log4j程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少
 
3、日志级别如何选择(在实际工作中,):
在代码开发阶段:使用debug级别
在正式运行阶段:使用ERROR、WARN、INFO中的某一个
  info:想查看流程信息
  warn:查看警告信息
  error:只需要记录错误信息
   注意:在项目运行阶段,日志打印越多,项目执行性能越慢
 
备注:一个完整的maven项目目录如下:
  src/main/java
  src/main/resources        #eclipse创建的maven项目可能默认没有resource目录,可以自己创建:
  src/test/java
  src/test/resources        #注:若没有test/resources目录,test中的程序会找main目录下的resource
 
4、两个日志相关的工具:
log4j:日志记录框架(具体的实现)          
     log for java   Apache开源项目,可将日志输送到控制台、文件、网络等;可通过配置文件来灵活配置,控制日志输出格式、定义日志级别。
 
slf4j:日志框架接口                                
    简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。
 
实际中往往slf4j+log4j组合使用

二、如何使用

1、添加maven依赖:

        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>1.7.10</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.10</version>        </dependency>

说明:

    可以到maven中央仓库查找:Maven Repository: Search/Browse/Explore  http://mvnrepository.com/

2、编辑.properties文件:

   在eclipse工具中,创建repository:在项目名称上右击--->Build Path--->ConfigureBuildPath--->Source(选中)添加一个与main和test同级

的repository目录,用于存放配置文件、项目部署说明reademe等信息。

编辑一个log4j.properties

一个打印日志到控制台的示例:

log4j.rootLogger=info,stdoutlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

(3)、编写测试类

import static org.junit.Assert.*;import org.junit.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class test {    @Test    public void test() throws Exception {        Logger logger = LoggerFactory.getLogger(test.class);   //###        logger.info("测试开始...");                 //###        System.out.println("项目执行过程TODO----");        logger.info("执行完毕...");    }}

技术分享

注:具体使用可以根据项目不同阶段的需求等设置日志级别、日志打印方式等等。

 

log4j日志工具