java中log日志的使用完全版文档格式.docx
《java中log日志的使用完全版文档格式.docx》由会员分享,可在线阅读,更多相关《java中log日志的使用完全版文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
importmons.logging.LogFactory;
publicstaticLoglog=LogFactory.getLog(test.class);
log.error("
成功关闭链接"
);
在commons_logging.properties文件中定义好了使用那个第三方日志包,在程序中打印日志时,就使用的是那个包,非常方便。
Log日志包
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
ConsoleAppender,控制台输出
FileAppender,文件日志输出
SMTPAppender,发邮件输出日志
SocketAppender,Socket日志
NTEventLogAppender,WindowNT日志SyslogAppender,
JMSAppender,
AsyncAppender,
NullAppender
文件输出:
RollingFileAppenderlog4j.rootLogger=INFO,logfilelog4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.Threshold=INFO//输出以上的INFO信息
log4j.appender.logfile.File=../logs/INFO_log//保存log
文件路径
log4j.appender.logfile.Append=true//默认
为true,添加到末尾,false在每次启动时进行覆盖log4j.appender.logfile.MaxFileSize=10KB//一个log文件的大小,超过这个大小就又会生成1个日志//KB,MB,GBlog4j.appender.logfile.MaxBackupIndex=3//最多保存3个文件备份log4j.appender.logfile.layout=org.apache.log4j.HTMLLayout//输出文件的格式
log4j.appender.logfile.layout.LocationInfo=true#是否显示类名和行数
log4j.appender.logfile.layout.Title=页面title#html页面的&
lt;
title&
gt;
##############################SampleLayout
####################################
#log4j.appender.logfile.layout=org.apache.log4j.SampleLayout
##############################PatternLayout###################################
#log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]-%m%n%d
##############################XMLLayout
#######################################
#log4j.appender.logfile.layout=org.apache.log4j.XMLLayout
#log4j.appender.logfile.layout.LocationInfo=true#是否
显示类名和行数
##############################TTCCLayout######################################
#log4j.appender.logfile.layout=org.apache.log4j.TTCCLayout#log4j.appender.logfile.layout.DateFormat=ISO8601#NULL,RELATIVE,ABSOLUTE,DATEorISO8601.
#log4j.appender.logfile.layout.TimeZoneID=GMT-8:
00
#log4j.appender.logfile.layout.CategoryPrefixing=false##默认为true打印类别名
#log4j.appender.logfile.layout.ContextPrinting=false
##默认为true打印上下文信息
#log4j.appender.logfile.layout.ThreadPrinting=false##默
认为true打印线程名
#打印信息如下:
2007-09-1314:
45:
39,765[http-8080-1]ERRORcom.poxool.test.test-error成功关闭链接###############################################################################每天文件的输出:
DailyRollingFileAppenderlog4j.rootLogger=INFO,errorlogfilelog4j.appender.errorlogfile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.errorlogfile.Threshold=ERRORlog4j.appender.errorlogfile.File=../logs/ERROR_loglog4j.appender.errorlogfile.Append=true#默认为true,添加到末尾,false在每次启动时进行覆盖log4j.appender.errorlogfile.ImmediateFlush=true直接输出,不进行缓存
#'
.'
yyyy-MM:
每个月更新一个log日志#'
yyyy-ww:
每个星期更新一个log日志#'
yyyy-MM-dd:
每天更新一个log日志#'
yyyy-MM-dd-a:
每天的午夜和正午更新一个log日志#'
yyyy-MM-dd-HH:
每小时更新一个log日志#'
yyyy-MM-dd-HH-mm:
每分钟更新一个log日志log4j.appender.errorlogfile.DatePattern='
yyyy-MM-dd'
.log'
#文件名称的格式log4j.appender.errorlogfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.errorlogfile.layout.ConversionPattern=%d%p[%c]-%m%n%d控制台输出:
log4j.rootLogger=INFO,consoleAppenderlog4j.appender.consoleAppender=org.apache.log4j.ConsoleAppenderlog4j.appender.consoleAppender.Threshold=ERRORlog4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%d%-5p%m%nlog4j.appender.consoleAppender.ImmediateFlush=true//直接输出,不进行缓存log4j.appender.consoleAppender.Target=System.err//默认是System.out方式输出
!
PATTERNFORMATSGLOSSARY!
%n-新的一
行
%m-打印错误信
息
%p-打印优先级信息(FATAL,ERROR,WARN,INFO,
DEBUGorcustom)!
%r-打印程序开始后过去的毫秒
数
%%-打印输出的百分
比
SOMEMORECLUTTERINYOUR
LOG!
%c-nameofyourcategory(logger),%c{2}willoutputslasttwocomponents!
%t-打印产生该日志信息的线程名称!
%x-打印嵌套的上下文信
SLOWPERFORMANCE
FORMATS!
%d-打印时间和日期,比
如%d{ISO8601},%d{DATE},%d{ABSOLUTE},
%d{HH:
mm:
ss,SSS},%d{ddMMMyyyy
HH:
ss,SSS}等等!
%l-Shortcut
for%F%L%C%M
%F-Java代码文件名
称
%L-Java代码错误的行
%C-Java类的名称,%C{1}将输出以“.”分割的后面一个!
%M-Java方法的名
FORMAT
MODIFIERS!
%-any_letter_above-Left-justifyinmin.width(defaultisright-justify)!
%20any_letter_above-20char.min.width(padwithspacesifreqd.)!
%.30any_letter_above-30char.max.width(truncatebeginningifreqd.)!
%-10.10r-Example.Left-justifytimeelapsedwithin
10-widefield.!
Truncatefrombeginningifwiderthan10
characters.!
发送邮件:
SMTPAppender
log4j.rootLogger=INFO,MAIL
log4j.appender.MAIL=.SMTPAppender
log4j.appender.MAIL.Threshold=DEBUG
log4j.appender.MAIL.BufferSize=10KB
log4j.appender.MAIL.From=yu77585211111@
log4j.appender.MAIL.SMTPHost=
log4j.appender.MAIL.Subject=Log4JMessage
log4j.appender.MAIL.To=yuyongpeng@
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayo
utlog4j.appender.MAIL.layout.ConversionPattern=%d-%c-%-4r[%t]%-5p%c%x-%m%n
数据库:
JDBCAppenderlog4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.DATABASE.URL=jdbc:
oracle:
thin:
@210.51.173.94:
1521:
YDBlog4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.user=ydbuserlog4j.appender.DATABASE.password=ydbuserlog4j.appender.DATABASE.sql=INSERTINTOA1(TITLE3)VALUES('
%d-%c%-5p%c%x-%m%n'
)log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayoutlog4j.appender.DATABASE.layout.ConversionPattern=%d-%c-%-4r[%t]%-5p%c%x-%m%n//数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的getConnection使用数据库链接池去得链接,可以避免insert一条就链接一次
数据库。
()