Log4j输出格式定义
Log4j的格式定义是通过一个“.properties”文件定义的,该文件里面定义了很多关于数定格式和输出位置的元素,看看下面例子的.properties文件(例子中以Log4j.properties为名称)。切换log4j.rootLogger=debug, B1的B1或是A1,以及注释不同位置,实现日志输出到文件还是控制台。把这个Log4j.properties文件放置工程的最上层目录(与.jpx文件在同一目录)。
Log4j.properties的内容:
log4j.rootLogger=debug, B1
#打印到文件
#log4j.appender.A1=org.apache.log4j.RollingFileAppender
#log4j.appender.A1.File=example.log
#log4j.appender.A1.MaxFileSize=100KB
#log4j.appender.A1.MaxBackupIndex=1
#log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#打印到控制台
log4j.appender.B1=org.apache.log4j.ConsoleAppender
log4j.appender.B1.layout=org.apache.log4j.PatternLayout
log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
6、在Java类文件里使用Log4j
6.1、Import需要的包文件
import org.apache.log4j.*;把这个语句放置在文件的Import位置。
6.2、定义Logger对象
static Logger logger = Logger.getLogger(Frame1.class.getName());在程序申明变量的地方定义这个对象,并且是静态对象。其中的Frame1是你当前类的名称。
6.3、装载属性文件
PropertyConfigurator.configure("Log4j.properties");在jbInit()方法的开始填写这个语句,把属性文件装载过来。
6.4、任何地方可以使用
在需要日志记录的地方输入类似以下的语句:
logger.info("日志信息");
logger.warn("日志信息");
logger.debug("日志信息");
logger.fatal("日志信息");
logger.error("日志信息");
比如:
private void jbInit() throws Exception {
PropertyConfigurator.configure("Log4j.properties");
// logonuser是登陆系统的用户名称
logger.info(logonuser + " 初始化开始");
……………….
logger.info(logonuser + " 初始化结束");
}
输出结果是:
INFO [AWT-EventQueue-0] (mainFrame.java:503) - Admin 初始化开始
INFO [AWT-EventQueue-0] (mainFrame.java:1013) - Admin 初始化结束
到这里我们就完成了Log4j在JBuilder的应用过程,输出日志的格式是不是很整齐,输出到文件的测试一样的过程,只是在Log4j.properties改成:
Log4j.properties的内容:
log4j.rootLogger=debug, A1
#打印到文件
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=example.log
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#打印到控制台
#log4j.appender.B1=org.apache.log4j.ConsoleAppender
#log4j.appender.B1.layout=org.apache.log4j.PatternLayout
#log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
#log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
Log4j会在与Log4j.properties同目录的地方创建example.log文件,并记录日志信息,当文件的尺寸大于100KB时,log4J会创建一个新的example.log文件,同时备份example.log文件。备份的文件个数取决于MaxBackupIndex属性。
接下来的篇节我们介绍Log4j在Eclipse上的应用过程
7、向Eclipse添加log4j-1.2.8.jar
7.1、新建Java项目时引入
第一种情况是在新建java项目时第二步骤选择【库L】-【添加外部JAR(X)】-选择log4j-1.2.8.jar,点击【打开】回到新建工程第二步骤的界面,点击完成。这样就引入了需要的库文件了。
7.2、向已经存在工程添加log4j-1.2.8.jar
如果工程已经存在,通过右击工程名称-【属性】-【java构建路径】-【添加外部JAR(X)】-选择log4j-1.2.8.jar,点击【打开】回到新建工程属性的界面-【确定】会到工程的界面。
7.3、导入Log4j.properties文件
通过工程的导入功能,直接把Log4j.properties文件导入到与工程最高层的目录。其他步骤同6.1-6.4
7.4、一个普通的应用结构如下的内容:
/*
* Created on 2004-10-10
*/
package com.log4j;
import org.apache.log4j.*;
/**
* @author Jem.lee
*/
public class MyLogTest {
static Logger logger = Logger.getLogger(MyLogTest.class.getName());
public static void main(String[] args) {
PropertyConfigurator.configure("Log4j.properties");
MyLogTest.logger.info("测试信息开始");
MyLogTest.logger.info("测试信息结束");
}
}
输出结果:
INFO [main] (MyLogTest.java:16) - 测试信息开始
INFO [main] (MyLogTest.java:17) - 测试信息结束
Log4j的格式定义是通过一个“.properties”文件定义的,该文件里面定义了很多关于数定格式和输出位置的元素,看看下面例子的.properties文件(例子中以Log4j.properties为名称)。切换log4j.rootLogger=debug, B1的B1或是A1,以及注释不同位置,实现日志输出到文件还是控制台。把这个Log4j.properties文件放置工程的最上层目录(与.jpx文件在同一目录)。
Log4j.properties的内容:
log4j.rootLogger=debug, B1
#打印到文件
#log4j.appender.A1=org.apache.log4j.RollingFileAppender
#log4j.appender.A1.File=example.log
#log4j.appender.A1.MaxFileSize=100KB
#log4j.appender.A1.MaxBackupIndex=1
#log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#打印到控制台
log4j.appender.B1=org.apache.log4j.ConsoleAppender
log4j.appender.B1.layout=org.apache.log4j.PatternLayout
log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
6、在Java类文件里使用Log4j
6.1、Import需要的包文件
import org.apache.log4j.*;把这个语句放置在文件的Import位置。
6.2、定义Logger对象
static Logger logger = Logger.getLogger(Frame1.class.getName());在程序申明变量的地方定义这个对象,并且是静态对象。其中的Frame1是你当前类的名称。
6.3、装载属性文件
PropertyConfigurator.configure("Log4j.properties");在jbInit()方法的开始填写这个语句,把属性文件装载过来。
6.4、任何地方可以使用
在需要日志记录的地方输入类似以下的语句:
logger.info("日志信息");
logger.warn("日志信息");
logger.debug("日志信息");
logger.fatal("日志信息");
logger.error("日志信息");
比如:
private void jbInit() throws Exception {
PropertyConfigurator.configure("Log4j.properties");
// logonuser是登陆系统的用户名称
logger.info(logonuser + " 初始化开始");
……………….
logger.info(logonuser + " 初始化结束");
}
输出结果是:
INFO [AWT-EventQueue-0] (mainFrame.java:503) - Admin 初始化开始
INFO [AWT-EventQueue-0] (mainFrame.java:1013) - Admin 初始化结束
到这里我们就完成了Log4j在JBuilder的应用过程,输出日志的格式是不是很整齐,输出到文件的测试一样的过程,只是在Log4j.properties改成:
Log4j.properties的内容:
log4j.rootLogger=debug, A1
#打印到文件
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=example.log
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#打印到控制台
#log4j.appender.B1=org.apache.log4j.ConsoleAppender
#log4j.appender.B1.layout=org.apache.log4j.PatternLayout
#log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
#log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
Log4j会在与Log4j.properties同目录的地方创建example.log文件,并记录日志信息,当文件的尺寸大于100KB时,log4J会创建一个新的example.log文件,同时备份example.log文件。备份的文件个数取决于MaxBackupIndex属性。
接下来的篇节我们介绍Log4j在Eclipse上的应用过程
7、向Eclipse添加log4j-1.2.8.jar
7.1、新建Java项目时引入
第一种情况是在新建java项目时第二步骤选择【库L】-【添加外部JAR(X)】-选择log4j-1.2.8.jar,点击【打开】回到新建工程第二步骤的界面,点击完成。这样就引入了需要的库文件了。
7.2、向已经存在工程添加log4j-1.2.8.jar
如果工程已经存在,通过右击工程名称-【属性】-【java构建路径】-【添加外部JAR(X)】-选择log4j-1.2.8.jar,点击【打开】回到新建工程属性的界面-【确定】会到工程的界面。
7.3、导入Log4j.properties文件
通过工程的导入功能,直接把Log4j.properties文件导入到与工程最高层的目录。其他步骤同6.1-6.4
7.4、一个普通的应用结构如下的内容:
/*
* Created on 2004-10-10
*/
package com.log4j;
import org.apache.log4j.*;
/**
* @author Jem.lee
*/
public class MyLogTest {
static Logger logger = Logger.getLogger(MyLogTest.class.getName());
public static void main(String[] args) {
PropertyConfigurator.configure("Log4j.properties");
MyLogTest.logger.info("测试信息开始");
MyLogTest.logger.info("测试信息结束");
}
}
输出结果:
INFO [main] (MyLogTest.java:16) - 测试信息开始
INFO [main] (MyLogTest.java:17) - 测试信息结束