异常日志

日志(log)
主要用来记录系统运行中一些重要操作信息;
便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到原因。
日志分类

  • SQL日志
  • 异常日志
  • 业务日志

log4j是一个非常优秀的开源日志记录工具

  • 控制日志的输出级别;
  • 控制日志信息输送的目的地是控制台、文件等;
  • 控制每一条日志的输出格式;
    在这里插入图片描述

一、添加jar包

(1)下载jar包:
网盘分享:https://pan.baidu.com/s/1wz6XnVrCyBgFI22lvoJ6XQ
提取码:7p9n
(2)加载jar包:
在工程上面,单击右键选择Properties(属性),
在这里插入图片描述
点击属性后,依次选择Java Build Path(所创建的路径)—>Libraries(类库)—>Add Extermal JAR Selection(添加外部jar包)
在这里插入图片描述
打开jar包的位置,点击ok,工程上面出现Referrenced Libraries就是加载好了。
在这里插入图片描述
我们需要的东西主要就是这个Logger.class
在这里插入图片描述
二、编写代码配置日志信息

(1)右击src文件夹,new一个File,命名为log4j.properties(这个名字是固定的)
在这里插入图片描述
(2)编写如下代码:

如果出现无法输入中文,那就需要修改字符集,解决办法:https://blog.csdn.net/weiguolong0306/article/details/50517487

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

#将日志输出到控制台#
log4j.appender.stout=org.apache.log4j.ConsoleAppender
log4j.appender.stout.Target=System.err
log4j.appender.stout.layout=org.apache.log4j.SimpleLayout

#将日志输出到文件中#
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=aaa.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

在这里插入图片描述
三、调用

package may.twenty_six;

import java.util.InputMismatchException;
import java.util.Scanner;
import org.apache.log4j.Logger;

public class Demo1 {
   private static Logger logger=Logger.getLogger(Demo1.class.getName());
	public static void divid() {
	
			try {
				Scanner input=new Scanner(System.in);
				System.out.print("请输入第一个整数:");
				int num1=input.nextInt();//1)输入不是整数类型  2)除法 输入 0
				logger.debug("输入第一个整数"+num1);
				System.out.print("请输入第二个整数:");
				int num2=input.nextInt();
				logger.debug("输入第二个整数"+num2);
				int jg=num1/num2;//输入num2可能输入  0
				String str=String.format("%d/%d=%d", num1,num2,num1/num2);
				logger.debug("输出结果:"+str);
				System.out.println(jg);
			}  catch (InputMismatchException  e)
			{
				logger.error(e.getMessage()+"输入不匹配");
			}
			catch(ArithmeticException e){
				logger.error(e.getMessage()+"除数不能为0");
			}
			catch (Exception e) {
				e.printStackTrace();
			}					
	}
	public static void main(String[] args) {		
			divid();	
	}
}

这样之后调用的每一条记录都会在一个文件里记录啦~~:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hudie.

不要打赏!不要打赏!不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值