Java_log4j_使用开源日志记录工具log4j

log4j官网下载地址:http://logging.apache.org/

1、添加jar包:
将jar包放进项目文件目录下(MyEclipse)
Project–Properties–Java Build Path–Libraries–Add JARs…
这样做,可以保证移动项目文件路径的时候,jar包能够以相对路径的方式访问,避免日后更新jar包路径

2、新建log4j配置文件(log4j.properties):
在src下新建文件:src右键–New–File
文件命名:log4j.properties

3、编写配置文件:

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

//目的地stdout输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
//ConsoleAppender的Target属性,默认为System.out,改为System.err(字体变红)
log4j.appender.stdout.Target=System.err
//Layout属性:SimpleLayout
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

//单独设置目的地的输出级别
log4j.appender.logfile.threshold=error
//目的地logfile输出到文件
log4j.appender.logfile=org.apache.log4j.FileAppender
//FileAppender的File属性,输出文件的路径文件名:jbit.log
log4j.appender.logfile.File=jbit.log
//Layout属性:PatternLayout格式化样式
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
//Layout的ConversionPattern属性
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n

输出优先级别:fatal>error>warn>info>debug

ConsoleAppender:

  • Target:System.out/System.err

FileAppender:

  • File:路径

layout:

  • SimpleLayout
  • HTMLLayout
  • PatternLayout

PatternLayout需要设置layout.ConversionPattern:

  • %d{yyyy-MM-dd HH:mm:ss} // 时间格式
  • %l // 类名+线程+行数
  • %F // 文件名
  • %p // 优先级别
  • %m // 自定义消息
  • %M // 方法名
  • %n // 回车换行

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 in = new Scanner(System.in);
            System.out.print("请输入被除数:");
            int num1 = in.nextInt();
            logger.info("输入被除数:" + num1);
            System.out.print("请输入除数:");
            int num2 = in.nextInt();
            logger.info("输入除数:" + num2);
            System.out.println(String.format("%d / %d = %d", num1, num2, num1
                    / num2));
            logger.info("输出运算结果:"
                    + String.format("%d / %d = %d", num1, num2, num1 / num2));
        } catch (InputMismatchException e) {
            logger.error("被除数和除数必须是整数", e);
        } catch (ArithmeticException e) {
            logger.error(e);
        } catch (Exception e) {
            logger.error(e.getMessage());
        } finally {
            System.out.println("欢迎使用本程序!");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值