java中日志的使用_java中log日志的使用(完全版)

Commons_logging包 Apache通用日志包 他为Log4JLogger;NoOpLog;LogKitLogger;Jdk14Logger;AvalonLogger提供了一共通用的接口进行调用,使得在使用各种不同的第三方日志包时变得非常简单。SimpleLog:是commons_logging自带的一个控制台输出日志。 可以通过简单的配置使用不同的第三方日志包。 在 src 根目录下放进 commons-logging.properties文件,进行配置使用哪个第三方日志包。 # 定义了使用的具体第三方的日值包 #org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog org.apache.commons.logging.Log= org.apache.commons.logging.impl.Log4JLogger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog #org.apache.commons.logging.Log=org.apache.commons.logging.impl.LogKitLogger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger #org.apache.commons.logging.Log=org.apache.commons.logging.impl.AvalonLogger 程序中调用:

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

public static Log log = 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,Window NT日志 SyslogAppender, JMSAppender,[  首先将log4j的jar包和Logging的jar包导入到你的工程中,然后在工程src目录创建一个属性文件:log4j.properties,也可以放在某个包中,但是获取这个属性文件的时候就需要 AsyncAppender, NullAppender

文件输出: RollingFileAppender log4j.rootLogger= INFO,logfile log4j.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 , GB log4j.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 页面的

############################## 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 ,

DATE or

ISO8601 . # 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-13 14:45:39,765 [http-8080-1] ERROR com.poxool.test.test - error

成功关闭链接 ###############################################################################

每天文件的输出: DailyRollingFileAppender log4j.rootLogger= INFO,errorlogfile log4j.appender.errorlogfile= org.apache.log4j.DailyRollingFileAppender log4j.appender.errorlogfile.Threshold= ERROR log4j.appender.errorlogfile.File= ../logs/ERROR_log log4j.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.PatternLayout log4j.appender.errorlogfile.layout.ConversionPattern= %d %p [%c] - %m%n %d

控制台输出: log4j.rootLogger= INFO,consoleAppender log4j.appender.consoleAppender= org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.Threshold= ERROR log4j.appender.consoleAppender.layout= org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern= %d %-5p %m%n log4j.appender.consoleAppender. ImmediateFlush= true        // 直接输出,不进行缓存 log4j.appender.consoleAppender. Target= System.err // 默认是 System.out 方式输出

!-----------------------------------------------------------------------------!

!                          PATTERN FORMATS GLOSSARY                           !

!-----------------------------------------------------------------------------!

! %n – 新的一行                                                              !

! %m – 打印错误信息                                                          !

! %p – 打印优先级信息  (FATAL, ERROR, WARN, INFO, DEBUG or custom)           !

! %r – 打印程序开始后过去的毫秒数                                            !

! %% -  打印输出的百分比                                                       !

!                                                                             !

!-----------------------SOME MORE CLUTTER IN YOUR LOG-------------------------!

! %c - name of your category (logger), %c{2} will outputs last two components !

! %t – 打印产生该日志信息的线程名称                                          !

! %x – 打印嵌套的上下文信息                                                  !

!                                                                             !

!-------------------------SLOW PERFORMANCE FORMATS----------------------------!

! %d – 打印时间和日期, 比如 %d{ISO8601}, %d{DATE}, %d{ABSOLUTE},             !

!        %d{HH:mm:ss,SSS}, %d{dd MMM yyyy HH:mm: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-justify in min. width (default is right-justify) !

! %20any_letter_above - 20 char. min. width (pad with spaces if reqd.)        !

! %.30any_letter_above - 30 char. max. width (truncate beginning if reqd.)    !

! %-10.10r - Example. Left-justify time elapsed within 10-wide field.        !

!              Truncate from beginning if wider than 10 characters.           !

!-----------------------------------------------------------------------------!

发送邮件: SMTPAppender log4j.rootLogger= INFO,MAIL log4j.appender.MAIL= org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold= DEBUG log4j.appender.MAIL.BufferSize= 10KB log4j.appender.MAIL.From= yu77585211111@163.com log4j.appender.MAIL.SMTPHost= mail.myce.net.cn log4j.appender.MAIL.Subject= Log4J Message log4j.appender.MAIL.To= yuyongpeng@myce.net.cn log4j.appender.MAIL.layout= org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern= %d - %c -%-4r [%t] %-5p %c %x - %m%n

数据库: JDBCAppender log4j.appender.DATABASE= org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL= jdbc : oracle:thin:@210.51.173.94:1521:YDB log4j.appender.DATABASE.driver= oracle.jdbc.driver.OracleDriver log4j.appender.DATABASE.user= ydbuser log4j.appender.DATABASE.password= ydbuser log4j.appender.DATABASE.sql= INSERT INTO A1 (TITLE3) VALUES (' %d - %c %-5p %c %x - %m%n') log4j.appender.DATABASE.layout= org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern= %d - %c -%-4r [%t] %-5p %c %x - %m%n // 数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的

getConnection使用数据库链接池去得链接,可以避免insert一条就链接一次数据库。()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值