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("执行完毕...");
        }
    }

    结果示例

          

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

  • 相关阅读:
    Swift如何判断上午还是下午
    Qt Creator编译app到iPhone
    用swift判断string是否包含字母
    QToolTip显示富文本问题
    mac如何发起屏幕共享?
    Redis持久化
    bean 实例化原理解析
    WebSocket和SocketIO总结
    netty入门
    redis 工具类
  • 原文地址:https://www.cnblogs.com/chinas/p/5855059.html
Copyright © 2011-2022 走看看