log4j.properties
#指定某个包下的所以类调用指定的appender
log4j.logger.com.coderdream.log4j=debug,appender1
log4j.logger.com.coderdream.log4jDao=info,appender1,appender2
#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
#输出到文件(这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
log4j.appender.appender2.File=c:/w/t.log
#是否追加
#log4j.appender.appender2.Append=false
#设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n
HelloLog4j.java
package com.coderdream.log4j;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Logger;
import test.TestLog1;
public class HelloLog4j {
private static Log logger=LogFactory.getLog(HelloLog4j.class);
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println("This is println message.");
if(logger.isDebugEnabled()){
// 记录debug级别的信息
logger.debug("This is debug message.");
}
// 记录info级别的信息
if(logger.isInfoEnabled()){
logger.info("This is info message.");
}
// 记录error级别的信息
if(logger.isErrorEnabled()){
logger.error("This is error message.");
}
}
}
package com.coderdream.log4jDao;
import org.apache.log4j.Logger;
public class HelloDao {
private static Logger logger = Logger.getLogger(HelloDao.class);
/**
* @param args
*/
public static void main(String[] args) {
// 记录debug级别的信息
if (logger.isDebugEnabled()) {
logger.debug("This is debug message from Dao.啊大大");
}
// 记录info级别的信息
if (logger.isInfoEnabled()) {
logger.info("This is info message from Dao.阿达");
}
// 记录error级别的信息
logger.error("This is error message from Dao.");
}
}