package test;
import org.apache.log4j.Logger;
public class HelloLog4j {
/*
* logger 完成日志信息的处理
* Appender 设置日志信息的去向
* 可以指定多个输出目的地
* log4j.appender.appender1 = org.apache.log4j.FileAppender
* log4j.appender.appender2 = org.apache.log4j.ConsoleAppender
* FileAppender 文件
* ConsoleAppender 控制台
* DailyRollingFileAppender 每天产生一个日志文件
* RollingFileAppender 文件大小达到指定尺寸以后就产生一个新的文件
* WriterAppender 将日志讯息以串流格式发送到任意指定的地方
* JdbcAppender 将日志信息保存在数据库中
*
*
* layout 设置日志信息的输出样式
* 常用的格式:
* HTMLLayout 以html表格形式布局
* SimpleLayout 包含日志讯息的级别和信息字符串
* TTCCLayout包含日志产生的时间、执行绪 类别等讯息
* PatternLayout 可以灵活地指定布局的模式
* %m 输出代码中指定的消息
* %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
* %r 输出自应用启动到输出该log信息耗费的毫秒数
* %c 输出所属的类目,通常就是所在类的全名
* %t 输出产生该日志事件的线程名
* %n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”
* %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
* %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
*
*
* 级别 debug《 info 《 warn《 error
* debug 错误信息
* info 日常记录的信息
* warn 警告
* error 出错
*
*
*
*
*
*
*
* */
private static Logger logger = Logger.getLogger(HelloLog4j.class);
public static void main(String[] args) {
// 记录debug级别的信息
logger.debug("This is debug message.");
// 记录info级别的信息
logger.info("This is info message.");
// 记录error级别的信息
logger.error("This is error message.");
try {
Integer.parseInt("123sdf");
} catch (NumberFormatException e) {
// TODO Auto-generated catch blocklog.error(e.getMessage())
logger.error(e.getMessage(),e);
//e.printStackTrace();
}
}
}
log4j.properties配置文件
log4j.rootLogger=DEBUG,appender1,appender2
log4j.logger.test1=info,appender1
log4j.appender.appender1 = org.apache.log4j.FileAppender
log4j.appender.appender2 = org.apache.log4j.ConsoleAppender
log4j.appender.appender1.File=C:/demolog.log
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%r [%t] %d %p - %c -%l -%m%n