开源日志记录工具log4j

日志

  

使用log4j日志记录步骤

  

 1、在项目中加入log4j的JAR文件

  

  

 2、创建log4j.properties文件

  

  

 3、配置日志信息

  解决编写乱码

   

   

# 设置Logger输出级别和输出目的地 #
log4j.rootLogger=debug,stdout,logfile

# 把日志信息输出到控制台 #
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

# 把日志信息输出到文件中 #
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}%l %F %p %m%n
log4j.properties

 4、使用log4j记录日志信息

import java.util.InputMismatchException;
import java.util.Scanner;

import org.apache.log4j.Logger;

public class Test {
    private static Logger logger = Logger.getLogger(Test.class.getName());

    public static void main(String[] args) {
        try {
            Scanner input = new Scanner(System.in);
            System.out.print("请输入第一个整数:");
            int num1 = input.nextInt();
            logger.debug("输入的第一个整数" + num1);
            System.out.print("请输入第二个整数:");
            int num2 = input.nextInt();
            logger.debug("输入的第二个整数" + num2);
            int jq = num1 / num2;
            String str = String.format("%d%d=%d", num1, num2, num1 / num2);
            logger.debug("输出结果:" + str);
            System.out.println(jq);
        } catch (InputMismatchException e) {
            logger.error(e.getMessage() + "输入不匹配");
        } catch (Exception e) {
            logger.error(e.getMessage() + "除数不能为0");
            e.printStackTrace();
        }
    }
}
Test 

log4j配置文件详解

 1.    日志级别

  trace:追踪,就是程序推进一下,可以写个trace输出

  debug:调试,一般作为最低级别,trace基本不用。

  info:输出重要的信息,使用较多

  warn:警告,有些信息不是错误信息,但也要给程序员一些提示。

  error:错误信息。用的也很多。

  fatal:致命错误。级别较高,这种级别不用调试了,重写吧……

  机制:如果一条日志信息的级别大于等于配置文件的级别,就记录。

 2.    输出源

  CONSOLE(输出到控制台)、FILE(输出到文件)等。

 3.    布局方式

  SimpleLayout:以简单的形式显示

  HTMLLayout:以HTML表格显示

  PatternLayout:自定义形式显示

  在Log4J2中基本采用PatternLayout自定义日志布局。

  自定义格式:

    %t:线程名称

    %p:日志级别

    %c:日志消息所在类名

    %m:消息内容

    %M:输出执行方法

    %d:发生时间,%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2011-10-18 22:10:28,921

    %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。

    %L:代码中的行数

    %n:换行

 

posted @ 2018-05-26 15:40  小黄豆'  阅读(181)  评论(0编辑  收藏  举报