log4j 的使用
2013-07-28 11:51
393 查看
log4j 对于java 程序员费用重要,能够记录程序运行过程。
如果配置log4j 呢?
Step 1:添加log4j.jar文件
Step 2:创建log4j.properties文件
注意:文件名必须叫log4j.properties,位置必须在src下,两者缺一不可
Step 3: 编写log4j.properties 配置文件:
例如(直接copy下面代码):
###设置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
###把日志信息输出到文件:myfile.log###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=myfile.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
Step 4:引进包和声明logger变量:
import org.apache.log4j.Logger;
private static Logger logger=Logger.getLogger(Father.class.getName());
Step 5:代码中给logger的属性赋值
package org.test.www;
import java.util.InputMismatchException;
import java.util.Scanner;
import org.apache.log4j.Logger;
public class Father {
private static Logger logger=Logger.getLogger(Father.class.getName());
public int num;
public void Print() {
try {
Scanner scanner= new Scanner(System.in);
System.out.println("请输入被除数字:");
logger.debug("输入一个数");
int num1=scanner.nextInt();
logger.debug("这个数是"+num1);
System.out.println("请输入除数");
int num2=scanner.nextInt();
logger.debug("接收一个整数"+num2);
int result=num1/num2;
logger.debug("结果是"+result);
} catch (InputMismatchException e) {
logger.debug("输入的不是整数");
logger.debug(e.getMessage());
}catch(ArithmeticException e){
logger.info(e.getMessage());
}
}
}
运行结果如下:
1. 文档myfile.log
2013-07-28 11:09:51,703 %1 Father.java
DEBUG 输入一个数
2013-07-28 11:10:13 %1 Father.java DEBUG 输入一个数
2013-07-28 11:10:55 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:11:45 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:11:48 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:14:11 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:14:15 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:14:23 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:14:25 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:21:09 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:32:15 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:32:17 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是1
2013-07-28 11:32:17 org.test.www.Father.Print(Father.java:18) Father.java DEBUG 接收一个整数1
2013-07-28 11:32:52 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:32:55 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是2
2013-07-28 11:33:00 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:33:37 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:33:43 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是1
2013-07-28 11:33:47 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:33:47 org.test.www.Father.Print(Father.java:21) Father.java DEBUG 0
2013-07-28 11:34:18 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:34:21 org.test.www.Father.Print(Father.java:23) Father.java DEBUG 输入的不是整数
2013-07-28 11:34:21 org.test.www.Father.Print(Father.java:24) Father.java DEBUG
2013-07-28 11:44:48 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:47:56 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:47:58 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是10
2013-07-28 11:48:00 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:48:00 org.test.www.Father.Print(Father.java:21) Father.java DEBUG 结果是5
2013-07-28 11:48:23 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:48:26 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是20
2013-07-28 11:48:28 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数0
2013-07-28 11:48:28 org.test.www.Father.Print(Father.java:26) Father.java INFO / by zero
2. 控制台结果为:
如果配置log4j 呢?
Step 1:添加log4j.jar文件
Step 2:创建log4j.properties文件
注意:文件名必须叫log4j.properties,位置必须在src下,两者缺一不可
Step 3: 编写log4j.properties 配置文件:
例如(直接copy下面代码):
###设置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
###把日志信息输出到文件:myfile.log###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=myfile.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
Step 4:引进包和声明logger变量:
import org.apache.log4j.Logger;
private static Logger logger=Logger.getLogger(Father.class.getName());
Step 5:代码中给logger的属性赋值
package org.test.www;
import java.util.InputMismatchException;
import java.util.Scanner;
import org.apache.log4j.Logger;
public class Father {
private static Logger logger=Logger.getLogger(Father.class.getName());
public int num;
public void Print() {
try {
Scanner scanner= new Scanner(System.in);
System.out.println("请输入被除数字:");
logger.debug("输入一个数");
int num1=scanner.nextInt();
logger.debug("这个数是"+num1);
System.out.println("请输入除数");
int num2=scanner.nextInt();
logger.debug("接收一个整数"+num2);
int result=num1/num2;
logger.debug("结果是"+result);
} catch (InputMismatchException e) {
logger.debug("输入的不是整数");
logger.debug(e.getMessage());
}catch(ArithmeticException e){
logger.info(e.getMessage());
}
}
}
运行结果如下:
1. 文档myfile.log
2013-07-28 11:09:51,703 %1 Father.java
DEBUG 输入一个数
2013-07-28 11:10:13 %1 Father.java DEBUG 输入一个数
2013-07-28 11:10:55 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:11:45 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:11:48 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:14:11 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:14:15 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:14:23 org.test.www.Father.Print(Father.java:13) Father.java DEBUG 输入一个数
2013-07-28 11:14:25 org.test.www.Father.Print(Father.java:15) Father.java DEBUG 接收一个整数
2013-07-28 11:21:09 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:32:15 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:32:17 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是1
2013-07-28 11:32:17 org.test.www.Father.Print(Father.java:18) Father.java DEBUG 接收一个整数1
2013-07-28 11:32:52 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:32:55 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是2
2013-07-28 11:33:00 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:33:37 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入了一个数
2013-07-28 11:33:43 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是1
2013-07-28 11:33:47 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:33:47 org.test.www.Father.Print(Father.java:21) Father.java DEBUG 0
2013-07-28 11:34:18 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:34:21 org.test.www.Father.Print(Father.java:23) Father.java DEBUG 输入的不是整数
2013-07-28 11:34:21 org.test.www.Father.Print(Father.java:24) Father.java DEBUG
2013-07-28 11:44:48 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:47:56 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:47:58 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是10
2013-07-28 11:48:00 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数2
2013-07-28 11:48:00 org.test.www.Father.Print(Father.java:21) Father.java DEBUG 结果是5
2013-07-28 11:48:23 org.test.www.Father.Print(Father.java:14) Father.java DEBUG 输入一个数
2013-07-28 11:48:26 org.test.www.Father.Print(Father.java:16) Father.java DEBUG 这个数是20
2013-07-28 11:48:28 org.test.www.Father.Print(Father.java:19) Father.java DEBUG 接收一个整数0
2013-07-28 11:48:28 org.test.www.Father.Print(Father.java:26) Father.java INFO / by zero
2. 控制台结果为:
相关文章推荐
- Web 项目中使用Log4j
- commons-logging和apache-log4j的结合使用
- log4j的使用方法
- Log4j日志的使用及配置文件(lp)
- 怎样?如何 使用Log4J?
- Log4j日志管理系统简单使用说明
- Log4j使用指南
- 最详细的Log4j使用教程
- Log4j快速使用精简版
- log4j的使用方法
- Log4j使用总结
- Log4j 使用
- log4j的简单的例子~以及使用log4j和不使用log4j的对比
- Log4j详细使用教程
- Log4j 2简单使用测试
- 关于Log4j使用
- Log4j 2.0在开发中的高级使用具体解释—介绍篇(一)
- 使用 log4j 打印日志
- LOG4J使用Hibernate管理数据库连接
- Log4j 2.x使用注意事项