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,
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 页面的<title>
############################## 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一条就链接一次数据库。()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Java 使用 log.info() 可以记录日志信息,用于调试和监控程序的运行状态。该方法通常用于记录信息级别的日志,可用于记录概要信息或执行过程的一些关键步骤,方便后续处理。使用时需要先创建一个 log 对象,如:Logger log = LoggerFactory.getLogger(MyClass.class); 然后调用 log.info("log message"); 即可记录日志信息。 ### 回答2: 在Java日志是一种非常重要的资源。它可以记录应用程序在运行时所发生的事件和错误,以便程序员进行调试和优化。log.info就是Java一种记录信息的方法。对于Java程序员来说,log.info是非常重要的。更具体地说,log.info的使用方法如下: 总体思路: 使用log.info来记录程序运行时的消息。在记录日志的时候,需要注意一些事项,比如日志级别、日志记录器等。 步骤一:导入Java util日志工具包 首先需要导入Java util日志工具包。通常情况下,可以通过以下代码导入: import java.util.logging.Logger; 步骤二:创建日志记录器 创建日志记录器时需要调用Logger类的getLogger()方法,并为之指定一个唯一的名称。 Logger logger = Logger.getLogger("logger"); 步骤三:使用log.info日志级别 现在可以开始记录日志了。在记录日志的过程,需要指定日志级别。Java有以下几种日志级别: SEVERE WARNING INFO CONFIG FINE FINER FINEST 通常情况下,使用最广泛的是INFO级别。这里举个例子: logger.info("这是一个日志信息"); 步骤四:输出日志信息 在将日志记录器创建好后,就可以在代码输出日志信息了。通过调用log.info()来记录信息。 现在,对于每个需要记录信息的地方,都可以传递一个字符串作为参数给log.info()方法,并将要记录的信息传递给它。 logger.info("一行日志信息"); 在Java使用log.info可以很好地管理和记录应用程序日志信息。如果需要记录更详细的日志信息,则可以从INFO级别升级为更高级别的日志级别。但不要忘记,在生产环境,尽可能选择合适的日志级别,以免产生大量冗长的日志。 ### 回答3: 在Java编程日志记录是开发人员必须掌握的一项关键技能。Log.info是Java.util.logging的一个方法,用于记录某个事件的普通信息级别。该方法的使用方法如下: 1. 引入Java.util.logging包 在Java程序使用Log.info方法之前,必须先引入Java.util.logging包。可以使用以下语句导入日志包: import java.util.logging.*; 2. 创建Logger实例 Logger类是Java.util.logging用于记录日志的核心类。在使用Log.info方法时,必须实例化Logger对象。可以使用以下语句创建Logger实例: private static final Logger logger = Logger.getLogger(ClassName.class.getName()); 其ClassName是需要进行日志记录的类的名称。 3. 使用Log.info方法 在Logger类Log.info方法可以用于写入普通信息级别的事件。需要注意的是,Log.info方法的参数为字符串类型,它表示要记录的信息。可以使用以下语句调用Log.info方法: logger.info("This is an informative message."); 在实际应用,可以使用Log.info方法记录一些代码执行过程的提示信息、状态信息等。例如,在一个银行系统,程序可能需要记录每一次用户账户的登录操作。可以使用以下语句记录这个事件: logger.info("User " + userName + " logged in at time " + loginTime); 4. 配置Logger Log.info方法的输出级别可以通过Logger对象的级别属性进行控制。可以使用以下语句配置Logger对象输出的级别: logger.setLevel(Level.INFO); 在这个例子,级别被设置为INFO,意味着只有INFO级别及以上的事件才会被记录。如果需要记录更详细的信息,可以将级别设置为FINE或更低级别。 总之,使用Log.info方法可以帮助开发人员更好地了解程序的执行情况,从而更快地发现和解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值