http://www.blogjava.net/alexprefect/articles/372959.html
PropertyConfigurator.configure("log4j.properties");
Logger logger = Logger.getLogger("service");
log4j.properties
log4j.rootLogger=INFO, CONSOLE //日志记录的级别,优先级是error、warn、info、debug,如果定义了info,在debug的信息就不输出到log
//未分配级别的logger将自动继承它最近的父logger的日志级别
log4j.logger.service=all,appender1
log4j.appender.appender1=org.apache.log4j.DailyRollingFileAppender
// org.apache.log4j.ConsoleAppender 将日志信息输出到控制台
// org.apache.log4j.FileAppender 将日志信息输出到一个文件
// org.apache.log4j.DailyRollingFileAppender 将日志信息每天输出到一个新的文件
// org.apache.log4j.RollingFileAppender 将日志信息每天输出到一个文件,并指定文件的大小,当文件大小到达指定尺寸时,自动给文件改名
// org.apache.log4j.WriterAppender 将日志信息以流格式发送到指定的地方
// org.apache.log4j.JDBCAppendert 通过jsdb将日志发送到数据库
log4j.appender.appender1.file=/usr/local/log/financial/service.log
log4j.appender.appender1.DatePattern='.'yyyy-MM-dd
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
//提供以下几种布局
//org.apache.log4j. HTMLLayout 以html表格布局
//org.apache.log4j.PatternLayout 灵活的指定布局形式
//org.apache.log4j.SimpleLayout 包含日志信息的级别和信息字符串
//org.apache.log4j.TTCCLayout 包含日志产生的时间、线程、类别等信息
log4j.appender.appender1.layout.ConversionPattern=[%-5p] [%c] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%t] - [%m]%n
// %m:输出代码中指定的消息。
// %p:输出优先级。
// %r:输入自应用启动到输出该log信息耗费的毫秒数。
// %c:输出所属的类目,通常就是所在类的全名。
// %t:输出产生该日志线程的线程名。
// %n:输出一个回车换行符。Windows平台为“\r\n”,UNIX为“\n”。
// %d:输出日志时间点的日期或时间,默认格式为ISO8601,推荐使用“%d{ABSOLUTE}”,这个输出格式形如:“2007-05-07 18:23:23,500”
// %l:输出日志事件发生的位置,包括类名、线程名,以及所在代码的行数。