知识大全 log4j--新的日志操作方法

Posted 文件

篇首语:一本书像一艘船,带领我们从狭獈的地方,驶向生活的无限广阔的海洋。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 log4j--新的日志操作方法相关的知识,希望对你有一定的参考价值。

   准备工作  一 Tomcat已正确配置与使用   二 软件下载 log j log j zip     Log j简介  在强调可重用组件开发的今天 除了自己从头到尾开发一个可重用的日志操作类外 Apache为我们提供了一个强有力的日志操作包 Log j   Log j是Apache的一个开放源代码项目 通过使用Log j 我们可以控制日志信息输送的目的地是控制台 文件 GUI组件 甚至是套接口服务器 NT的事件记录器 UNIX Syslog守护进程等 我们也可以控制每一条日志的输出格式 通过定义每一条日志信息的级别 我们能够更加细致地控制日志的生成过程 最令人感兴趣的就是 这些可以通过一个配置文件来灵活地进行配置 而不需要修改应用的代码   此外 通过Log j其他语言接口 您可以在C C++ Net PL/SQL程序中使用Log j 其语法和用法与在Java程序中一样 使得多语言分布式系统得到一个统一一致的日志组件模块 而且 通过使用各种第三方扩展 您可以很方便地将Log j集成到J EE JINI甚至是SNMP应用中 本文介绍的Log j版本是 怎样通过一个配置文件来灵活地进行配置 主要的应用平台是Tomcat      Log j的配置  首先到jakarta下载一个log j的组件 把jakarta log j \\dist\\lib下的log j jar文件copy到classpath指定的目录下!可以是Tomcat的mon\\lib目录下 也可以是你需要用到log j的application下的lib目录    在Application目录下的web xml文件加入以后代码  <servlet>  <servlet name>log j</servlet name>  <servlet class> apache jakarta log j Log jInit</servlet class>  <init param>  <param name>log j</param name>  <param value>/WEB INF/log j properties</param value>  </init param>  <load on startup> </load on startup>  </servlet>    这段代码的意思是说 在Tomcat启动时加载 apache jakarta log j Log jInit这个名叫Log jInit class这个类文件 其中Log jInit class的源代码如下    package apache jakarta log j;  import apache log j PropertyConfigurator;  import javax servlet HttpServlet;  import javax servlet HttpServletRequest;  import javax servlet HttpServletResponse;  public class Log jInit extends HttpServlet     public void init()   String prefix = getServletContext() getRealPath( / );  String file = getInitParameter( log j );  // if the log j init file is not set then no point in trying  System out println( log j start );  if(file != null)   Propnfigure(prefix+file);      public void doGet(HttpServletRequest req HttpServletResponse res)       这段代码很简单 可以看出 在加载的过程中 程序会读取/WEB INF/log j properties这个文件  这个文件就是本文的重点 也就是log j的配置文件     # Set root logger level to DEBUG and its only appender to A   #log j中有五级logger  #FATAL   #ERROR   #WARN   #INFO   #DEBUG   #配置根Logger 其语法为   #log j rootLogger = [ level ] appenderName appenderName …  log j rootLogger=INFO A R  #这一句设置以为著所有的log都输出  #如果为log j rootLogger=WARN 则意味着只有WARN ERROR FATAL  #被输出 DEBUG INFO将被屏蔽掉   # A is set to be a ConsoleAppender   #log j中Appender有几层如控制台 文件 GUI组件 甚至是套接口服务器 NT的事件记录器 UNIX Syslog守护进程等  #ConsoleAppender输出到控制台  log j appender A = apache log j ConsoleAppender  # A 使用的输出布局 其中log j提供 种布局 apache log j HTMLLayout(以HTML表格形式布局)  # apache log j PatternLayout(可以灵活地指定布局模式)   # apache log j SimpleLayout(包含日志信息的级别和信息字符串)   # apache log j TTCCLayout(包含日志产生的时间 线程 类别等等信息)    log j appender A layout= apache log j PatternLayout  #灵活定义输出格式 具体查看log j javadoc apache log j PatternLayout  #d 时间   log j appender A layout ConversionPattern=% dyyyy MM dd HH:mm:ss [%c] [%p] %m%n  #R 输出到文件 RollingFileAppender的扩展 可以提供一种日志的备份功能   log j appender R= apache log j RollingFileAppender  #日志文件的名称  log j appender R File=log j log  #日志文件的大小  log j appender R MaxFileSize= KB  # 保存一个备份文件  log j appender R MaxBackupIndex=     log j appender R layout= apache log j TTCCLayout  #log j appender R layout ConversionPattern=% dyyyy MM dd HH:mm:ss [%c] [%p] %m%n    配置以这里就差不多了 如果你想更深入了解配置文件的各个细节 可以去查看docs 还有 在文章的最后面我们提供配置文件中一些主要的语法 下面我们来看看怎样在程序中使用log j       Log j的使用  使用Log j 第一步就是获取日志记录器 这个记录器将负责控制日志信息 其语法为   public static Logger getLogger( String name)   必须在使用前要把这个类导入  import apache log j Logger;    name一般是类文件的名字 如下   static Logger logger = Logger getLogger ( class getName () ) ;    您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方 其语法如下   logger debug ( Object message ) ;   ( Object message ) ;  logger warn ( Object message ) ;  logger error ( Object message ) ;    为什么这里要分级别的呢?试想一下 我们在写程序的时候 为了调试程序 会在很多会出错的地方加入大量的();信息 当然程序调试完毕 我们不需要这些输出信息了 那怎么办呢?以前的做法是把每个程序中的删除 但这是不现实的 如果程序不大还可以 但如果程序很多 做这些事情就很烦人了 但因为log j分级别了 当我们不需要输出这样调试时用到的()时 我们可以把输出的级别调高 如调到warn 或error级别 这样info级别及以下的级别就不会出输出了 是不是很方便的呢?    其实除了这种使用方式 log j还有其它的使用方面 不需要配置文件 直接在程序中定义输入出级别 层次等信息 如果要了解这方法的使用 可以参考文档      附注   以下是配置文件的一些重要的语法  定义配置文件    其实您也可以完全不使用配置文件 而是在代码中配置Log j环境 但是 使用配置文件将使您的应用程序更加灵活     Log j支持两种配置文件格式 一种是XML格式的文件 一种是Java特性文件(键=值) 下面我们介绍使用Java特性文件做为配置文件的方法     配置根Logger 其语法为     log j rootLogger = [ level ] appenderName appenderName …  其中 level 是日志记录的优先级 分为OFF FATAL ERROR WARN INFO DEBUG ALL或者您定义的级别 Log j建议只使用四个级别 优先级从高到低分别是ERROR WARN INFO DEBUG 通过在这里定义的级别 您可以控制到应用程序中相应级别的日志信息的开关 比如在这里定义了INFO级别 则应用程序中所有DEBUG级别的日志信息将不被打印出来   appenderName就是指定日志信息输出到哪个地方 您可以同时指定多个输出目的地     配置日志信息输出目的地Appender 其语法为    log j appender appenderName = fully qualified name of appender class  log j appender appenderName option = value   …  log j appender appenderName option = valueN  其中 Log j提供的appender有以下几种    apache log j ConsoleAppender(控制台)    apache log j FileAppender(文件)    apache log j DailyRollingFileAppender(每天产生一个日志文件)    apache log j RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)    apache log j WriterAppender(将日志信息以流格式发送到任意指定的地方)  //往数据库中加入日志  log j appender R= apache log j jdbc JDBCAppender  log j appender R URL=jdbc:mysql://localhost/log  log j appender R username=root  log j appender R password=  log j appender R sql=INSERT INTO TEST (msg) VALUE ( %d %c &m )  log j appender R layout= apache log j PatternLayout    配置日志信息的格式(布局) 其语法为     log j appender appenderName layout = fully qualified cha138/Article/program/Java/ky/201311/28002

相关参考

知识大全 Spring 与 Log4J 进行动态日志配置切换

Spring与Log4J进行动态日志配置切换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言

知识大全 Log4J 日志管理系统使用心得体会

Log4J日志管理系统使用心得体会  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简单的Logj

知识大全 在spring中应用log4j

  Logj是Apache的一个开放源代码项目通过使用Logj我们可以控制日志信息输送的目的地是控制台文件GUI组件甚至是套接口服务器NT的事件记录器UNIXSyslog守护进程等我们也可以控制每一条

知识大全 配置归档日志,让数据库管理更加顺畅

  一更改日志操作模式三步走  默认情况下Oracle数据库采用的是非归档模式但是非归档模式不能够防止因物理损坏而导致丢失数据问题为此数据库管理员可能需要把日志操作模式从非归档模式转换为归档模式其实要

知识大全 重定向输出流实现程序日志

  System类中的out成员变量是java的标准输出流通常用它来输出调试信息out成员变量被定义为final类型无法直接重新复制但是可以通过setOut()方法来设置新的输出流本例通过该方法实现了

知识大全 Log4j和JDBMonitor的比较

Log4j和JDBMonitor的比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Logj(

知识大全 如何使用归档日志进行完全恢复

  系统环境  操作系统WindowsServer机器内存M  数据库 OracleiR()forNT企业版  安装路径C:\\ORACLE    模拟现象      先将数据库设置为归档模式    

知识大全 开源项目关于web app的Log4j应用

开源项目关于webapp的Log4j应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  建立lo

知识大全 如何使用归档日志进行完全恢复

  系统环境  操作系统WindowsServer机器内存M  数据库 OracleiR()forNT企业版  安装路径C:\\ORACLE    模拟现象  先将数据库设置为归档模式    SQL*

知识大全 技巧分享——log4j的配制及测试程序

  写个初始化的SERVLET    packagenetwelovetennisutillog;    importjavaxservlet*;  importjavaxservlet*;  imp