zoukankan      html  css  js  c++  java
  • 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:在项目名称上右击--->New--->Source Folder,添加一个与main和test同级

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

    编辑一个log4j.properties

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

    log4j.rootLogger=info,stdout
    
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target = System.out
    log4j.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("执行完毕...");
        }
    }

    结果示例

          

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

  • 相关阅读:
    CodeForces 660D Number of Parallelograms
    【POJ 1082】 Calendar Game
    【POJ 2352】 Stars
    【POJ 2481】 Cows
    【POJ 1733】 Parity Game
    【NOI 2002】 银河英雄传说
    【NOI 2015】 程序自动分析
    【POJ 1704】 Georgia and Bob
    【HDU 2176】 取(m堆)石子游戏
    【SDOI 2016】 排列计数
  • 原文地址:https://www.cnblogs.com/chinas/p/5855059.html
Copyright © 2011-2022 走看看