zoukankan      html  css  js  c++  java
  • (一)问候 Log4j 你好

    第一节: Log4j 简介

    Log4j -------- log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务;

    在爬虫领域,主要用于记录爬虫的执行过程,方便排查爬虫执行错误问题;

    详细介绍 参考百度百科 

     http://baike.baidu.com/link?url=FCidaDzCVSgeIl1Yw7CyufySJLQvd4n3QCusbnTTTxqdg1EYdg59Kd-Hm5gyCdkgNMaYQvmUVXMxxf3k2Pnwdq


    第二节: Log4j HelloWorld 实现

    建立一个简单的maven项目

    pox.xml引入log4j

    1       <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    2     <dependency>
    3         <groupId>log4j</groupId>
    4         <artifactId>log4j</artifactId>
    5         <version>1.2.17</version>
    6     </dependency>

    log4j.properties

     1 log4j.rootLogger=DEBUG, Console ,File  
     2    
     3 #Console  
     4 log4j.appender.Console=org.apache.log4j.ConsoleAppender  
     5 log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
     6 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
     7    
     8 #File
     9 log4j.appender.File = org.apache.log4j.FileAppender
    10 log4j.appender.File.File = D://log2.log
    11 log4j.appender.File.layout = org.apache.log4j.PatternLayout
    12 log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

    上面配置文件是把Debug信息输出到控制台和本地文件

    指定布局格式以及输出地址 具体含义后面会详细讲解

    Test.java

     1 package com.wishwzp.log4j;
     2 
     3 import org.apache.log4j.Logger;
     4 
     5 /**
     6  * Log4j测试类
     7  * @author ainio
     8  *
     9  */
    10 public class Test {
    11     
    12     private static final Logger logger = Logger.getLogger(Test.class);    // 获取logger实例
    13 
    14     public static void main(String[] args) {
    15         
    16         logger.info("普通Info信息");
    17         logger.debug("调试debug信息");
    18         logger.error("报错error信息");
    19         logger.warn("警告warn信息");
    20         logger.fatal("严重错误fatal信息");
    21         
    22         logger.error("报错信息", new IllegalArgumentException("非法参数"));
    23     }
    24 
    25 }

    运行输出:

    2017-06-19 15:06:34,398 [main] INFO     [com.wishwzp.log4j.Test] - 普通Info信息
    2017-06-19 15:06:34,399 [main] DEBUG [com.wishwzp.log4j.Test] - 调试debug信息
    2017-06-19 15:06:34,399 [main] ERROR [com.wishwzp.log4j.Test] - 报错error信息
    2017-06-19 15:06:34,399 [main] WARN   [com.wishwzp.log4j.Test] - 警告warn信息
    2017-06-19 15:06:34,399 [main] FATAL   [com.wishwzp.log4j.Test] - 严重错误fatal信息
    2017-06-19 15:06:34,400 [main] ERROR [com.wishwzp.log4j.Test] - 报错信息
    java.lang.IllegalArgumentException: 非法参数
        at com.wishwzp.log4j.Test.main(Test.java:22)

    本地D盘也会有一个log2.log日志文件 打开 也会有对应的日志信息

  • 相关阅读:
    Intersection Observer 观察元素何时进入或退出浏览器的视口
    JS防抖函数、节流函数工具类封装
    页面刷新时,如何保持原有vuex中的state信息
    vue具名插槽、作用域插槽的新写法
    vue-cli3+工具中,配置路径别名(vue.config.js)
    基于Vue-SSR优化方案归纳总结
    React组件设计:重新认识受控与非受控组件
    如何用 JavaScript 实现一个数组惰性求值库
    原生 js 中应该禁止出现的写法,以提高代码效率和安全性
    Javascript 实践中的命令模式
  • 原文地址:https://www.cnblogs.com/wishwzp/p/7048809.html
Copyright © 2011-2022 走看看