日志(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();	
	}
}

这样之后调用的每一条记录都会在一个文件里记录啦~~: