??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一级二级在线观看,日本午夜一区,男男激情在线http://www.aygfsteel.com/aiyoyoyo/category/7533.htmlq是我的成长Q这是我的天圎ͼ学习JAVAQ只因快乐?/description>zh-cnWed, 28 Feb 2007 21:12:26 GMTWed, 28 Feb 2007 21:12:26 GMT60单的Log4j 配置 ?/title><link>http://www.aygfsteel.com/aiyoyoyo/articles/76124.html</link><dc:creator>aiyoyoyo</dc:creator><author>aiyoyoyo</author><pubDate>Thu, 19 Oct 2006 04:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/aiyoyoyo/articles/76124.html</guid><wfw:comment>http://www.aygfsteel.com/aiyoyoyo/comments/76124.html</wfw:comment><comments>http://www.aygfsteel.com/aiyoyoyo/articles/76124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/aiyoyoyo/comments/commentRss/76124.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/aiyoyoyo/services/trackbacks/76124.html</trackback:ping><description><![CDATA[ <p>commons-logging.properties文g<br />##org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog</p> <p>org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger<br /><br /><br />Log4j.properties文g<br />## LOGGERS ##<br /># define a logger named helloAppLogger<br />log4j.rootLogger=INFO,console,file    #日志U别为Info<br /><br />## APPENDERS ##<br /># define an appender named console, which is set to be a ConsoleAppender<br />log4j.appender.console=org.apache.log4j.ConsoleAppender</p> <p># define an appender named file, which is set to be a RollingFileAppender<br />log4j.appender.file=org.apache.log4j.RollingFileAppender<br />log4j.appender.file.File=M:\\myserver.log   #日志写入文g </p> <p>## LAYOUTS ##<br /># assign a SimpleLayout to console appender<br />log4j.appender.console.layout=org.apache.log4j.SimpleLayout</p> <p># assign a PatternLayout to file appender<br />log4j.appender.file.layout=org.apache.log4j.PatternLayout<br />log4j.appender.file.layout.ConversionPattern==%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n  #日志输出日期格式<br /><br />simplelog.properties<br />#Tue Feb 07 11:31:28 CST 2006<br />org.apache.commons.logging.simplelog.defaultlog=info<br /><br />q?个文件直接放在你src目录下就可以?<br />c里q么调用<br />import org.apache.commons.logging.Log;<br />import org.apache.commons.logging.LogFactory;<br /><br />Log log = LogFactory.getLog("XXX");<br />log.info("log message");</p> <img src ="http://www.aygfsteel.com/aiyoyoyo/aggbug/76124.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/aiyoyoyo/" target="_blank">aiyoyoyo</a> 2006-10-19 12:10 <a href="http://www.aygfsteel.com/aiyoyoyo/articles/76124.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j日志理pȝ单用说?/title><link>http://www.aygfsteel.com/aiyoyoyo/articles/76122.html</link><dc:creator>aiyoyoyo</dc:creator><author>aiyoyoyo</author><pubDate>Thu, 19 Oct 2006 04:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/aiyoyoyo/articles/76122.html</guid><wfw:comment>http://www.aygfsteel.com/aiyoyoyo/comments/76122.html</wfw:comment><comments>http://www.aygfsteel.com/aiyoyoyo/articles/76122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/aiyoyoyo/comments/commentRss/76122.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/aiyoyoyo/services/trackbacks/76122.html</trackback:ping><description><![CDATA[ <font color="#333333">Log4j有三个主要的lgQLoggersQAppenders和LayoutsQ这里可单理解ؓ日志cdQ日志要输出的地方和日志以何UŞ式输出。综合用这三个lg可以L的记录信息的cd和别,q可以在q行时控制日志输出的样式和位|。下面对三个lg分别q行说明Q?br />  <br />  <b>1?Loggers</b><br />  Loggerslg在此pȝ中被分ؓ五个U别QDEBUG、INFO、WARN、ERROR和FATAL。这五个U别是有序的,DEBUG < INFO < WARN < ERROR < FATALQ明白这一点很重要Q这里Log4j有一个规则:假设LoggersU别为PQ如果在Loggers中发生了一个别Q比P高,则可以启动,否则屏蔽掉?br />  <br />  JavaE序举例来说Q?br />  <br />  //建立Logger的一个实例,命名为“com.foo?br />  <br />  Logger logger = Logger.getLogger("com.foo");<br />  <br />  //讄logger的别。通常不在E序中设|logger的别。一般在配置文g中设|?br />  <br />  logger.setLevel(Level.INFO);<br />  <br />  Logger barlogger = Logger.getLogger("com.foo.Bar");<br />  <br />  //下面q个h可用Q因为WARN >= INFO<br />  <br />  logger.warn("Low fuel level.");<br />  <br />  //下面q个h不可用,因ؓDEBUG < INFO<br />  <br />  logger.debug("Starting search for nearest gas station.");<br />  <br />  //命名为“com.foo.bar”的实例barlogger会承实例“com.foo”的U别。因此,下面q个h可用Q因为INFO >= INFO<br />  <br />  barlogger.info("Located nearest gas station.");<br />  <br />  //下面q个h不可用,因ؓDEBUG < INFO<br />  <br />  barlogger.debug("Exiting gas station search");<br />  <br />  q里“是否可用”的意思是能否输出Logger信息?br />  <br />  在对Logger实例q行命名Ӟ没有限制Q可以取L自己感兴的名字。一般情况下以类的所在位|来命名Logger实例Q这是目前来讲比较有效的Logger命名方式。这样可以得每个类建立自己的日志信息,便于理。比如:<br />  <br />  static Logger logger = Logger.getLogger(ClientWithLog4j.class.getName());<br />  <br />  <b>2?Appenders</b><br />  用与用日志请求只是Log4j其中的一个小的地方QLog4j日志pȝ允许把日志输出到不同的地方,如控制台QConsoleQ、文ӞFilesQ、根据天数或者文件大生新的文件、以的形式发送到其它地方{等?br />  <br />  其语法表CZؓQ?br />  <br />  org.apache.log4j.ConsoleAppenderQ控制台Q,<br />  <br />  org.apache.log4j.FileAppenderQ文ӞQ?br />  org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文ӞQorg.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文ӞQ?br />  org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)<br />  <br />  配置时用方式ؓQ?br />  <br />  log4j.appender.appenderName = fully.qualified.name.of.appender.class<br />  <br />  log4j.appender.appenderName.option1 = value1<br />  <br />  ?br />  <br />  log4j.appender.appenderName.option = valueN<br />  <br />  q样׃ؓ日志的输出提供了相当大的便利?br />  <br />  <b>3?Layouts</b><br />  有时用户希望Ҏ自己的喜好格式化自己的日志输出。Log4j可以在Appenders的后面附加Layouts来完成这个功能。Layouts提供了四U日志输出样式,如根据HTML样式、自由指定样式、包含日志别与信息的样式和包含日志旉、线E、类别等信息的样式等{?br />  <br />  其语法表CZؓQ?br />  <br />  org.apache.log4j.HTMLLayoutQ以HTML表格形式布局Q,<br />  org.apache.log4j.PatternLayoutQ可以灵zd指定布局模式Q,<br />  org.apache.log4j.SimpleLayoutQ包含日志信息的U别和信息字W串Q,<br />  org.apache.log4j.TTCCLayoutQ包含日志生的旉、线E、类别等{信息)<br />  <br />  配置时用方式ؓQ?br />  <br />  log4j.appender.appenderName.layout =    fully.qualified.name.of.layout.class<br />  log4j.appender.appenderName.layout.option1 = value1<br />  ?br />  log4j.appender.appenderName.layout.option = valueN<br />  <br />  以上是从原理斚w说明Log4j的用方法,在具体Java~程使用Log4j可以参照以下CZQ?br />  <br />  <b>1?建立Logger实例Q?/b><br />  语法表示Qpublic static Logger getLogger( String name)<br />  实际使用Qstatic Logger logger = Logger.getLogger  (ServerWithLog4j.class.getName ()) ;<br />  <br />  <b>2?d配置文gQ?/b><br />  获得了Logger的实例之后,接下来将配置Log4j使用环境Q?br />  语法表示Q?br />  BasicConfigurator.configure()Q自动快速地使用~省Log4j环境?br />  PropertyConfigurator.configure(String configFilename)Q读取用Java的特性文件编写的配置文g?br />  DOMConfigurator.configure(String filename)Q读取XML形式的配|文件?br />  实际使用QPropertyConfigurator.configure("ServerWithLog4j.properties");<br />  <br />  <b>3?插入日志信息</b><br />  完成了以上连个步骤以后,下面可以按日志的不同别插入到你要记录日志的Q何地方了?br />  语法表示Q?br />  Logger.debug(Object message);<br />  Logger.info(Object message);<br />  Logger.warn(Object message);<br />  Logger.error(Object message);<br />  实际使用Qlogger.info("ServerSocket before accept: " + server);<br />  <br />  在实际编E时Q要使Log4j真正在系l中q行事先q要寚w|文件进行定义。定义步骤就是对Logger、Appender及Layout的分别用,具体如下Q?br />  <br />  <b>1?配置根LoggerQ其语法为:</b><br />  log4j.rootLogger = [ level ] , appenderName, appenderName, ?br />  q里level指Logger的优先QappenderName是日志信息的输出圎ͼ可以同时指定多个输出地。如Qlog4j.rootLogger= INFO,A1,A2<br />  <br />  <b>2?配置日志信息输出目的圎ͼ其语法ؓQ?/b><br />  log4j.appender.appenderName = fully.qualified.name.of.appender.class<br />  可以指定上面所qC个目的地中的一个?br />  <br />  <b>3?配置日志信息的格式,其语法ؓQ?/b><br />  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class<br />  q里上面三个步骤是对前面Log4jlg说明的一个简化;下面l出一个具体配|例子,在程序中可以参照执行Q?br />  log4j.rootLogger=INFO,A1<br />  log4j.appender.A1=org.apache.log4j.ConsoleAppender<br />  log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />  log4j.appender.A1.layout.ConversionPattern=<br />  %-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n<br />  q里需要说明的是日志信息格式中几个符h代表的含义:<br />  QX? X信息输出时左寚wQ?br />  %p: 日志信息U别<br />  %d{}: 日志信息产生旉<br />  %c: 日志信息所在地Q类名)<br />  %m: 产生的日志具体信?br />  %n: 输出日志信息换行<br />  <br />  Ҏ上面的日志格式,某一个程序的输出l果如下Q?br />  0  INFO 2003-06-13 13:23:46968 ClientWithLog4j Client socket: Socket[addr=localhost/127.0.0.1,port=8002,localport=2014]<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server says: 'Java server with log4j, Fri Jun 13 13:23:46 CST 2003'<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j GOOD<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server responds: 'Command 'HELLO' not understood.'<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j HELP<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j Server responds: 'Vocabulary: HELP QUIT'<br />  16  DEBUG 2003-06-13 13:23:46984 ClientWithLog4j QUIT </font> <img src ="http://www.aygfsteel.com/aiyoyoyo/aggbug/76122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/aiyoyoyo/" target="_blank">aiyoyoyo</a> 2006-10-19 12:01 <a href="http://www.aygfsteel.com/aiyoyoyo/articles/76122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j基本使用Ҏhttp://www.aygfsteel.com/aiyoyoyo/articles/31213.htmlaiyoyoyoaiyoyoyoFri, 17 Feb 2006 08:10:00 GMThttp://www.aygfsteel.com/aiyoyoyo/articles/31213.htmlhttp://www.aygfsteel.com/aiyoyoyo/comments/31213.htmlhttp://www.aygfsteel.com/aiyoyoyo/articles/31213.html#Feedback0http://www.aygfsteel.com/aiyoyoyo/comments/commentRss/31213.htmlhttp://www.aygfsteel.com/aiyoyoyo/services/trackbacks/31213.html  一、定义配|文?/P>

  其实您也可以完全不用配|文Ӟ而是在代码中配置Log4j环境。但是,使用配置文g您的应用E序更加灉|。Log4j支持两种配置文g格式Q一U是XML格式的文Ӟ一U是JavaҎ文Ӟ?|。下面我们介l用JavaҎ文件做为配|文件的ҎQ?/P>

  1.配置根LoggerQ其语法为:

  log4j.rootLogger = [ level ] , appenderName, appenderName, ?

  其中Qlevel 是日志记录的优先U,分ؓOFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的别。Log4j只用四个别,优先U从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的U别Q您可以控制到应用程序中相应U别的日志信息的开兟뀂比如在q里定义了INFOU别Q则应用E序中所有DEBUGU别的日志信息将不被打印出来?appenderName是指定日志信息输出到哪个地斏V您可以同时指定多个输出目的地?

  2.配置日志信息输出目的地AppenderQ其语法为:

  log4j.appender.appenderName = fully.qualified.name.of.appender.class
  log4j.appender.appenderName.option1 = value1
  ?
  log4j.appender.appenderName.option = valueN

  其中QLog4j提供的appender有以下几U:
  org.apache.log4j.ConsoleAppenderQ控制台Q,
  org.apache.log4j.FileAppenderQ文ӞQ?
  org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文ӞQ?BR>  org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文ӞQ?
  org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)

  3.配置日志信息的格式(布局Q,其语法ؓQ?/P>

  log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
  log4j.appender.appenderName.layout.option1 = value1
  ?
  log4j.appender.appenderName.layout.option = valueN

  其中QLog4j提供的layout有以下几U:
  org.apache.log4j.HTMLLayoutQ以HTML表格形式布局Q,
  org.apache.log4j.PatternLayoutQ可以灵zd指定布局模式Q,
  org.apache.log4j.SimpleLayoutQ包含日志信息的U别和信息字W串Q,
  org.apache.log4j.TTCCLayoutQ包含日志生的旉、线E、类别等{信息)

  Log4J采用cMC语言中的printf函数的打印格式格式化日志信息Q打印参数如下: %m 输出代码中指定的消息

  %p 输出优先U,即DEBUGQINFOQWARNQERRORQFATAL
  %r 输出自应用启动到输出该log信息耗费的毫U数
  %c 输出所属的cȝQ通常是所在类的全?
  %t 输出产生该日志事件的U程?
  %n 输出一个回车换行符QWindowsq_为“\r\n”,Unixq_为“\n?
  %d 输出日志旉点的日期或时_默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd HH:mm:ss,SSS}Q输出类|2002q?0?8?22Q?0Q?8Q?21
  %l 输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。D例:Testlog4.main(TestLog4.java:10)

  二、在代码中用Log4j

  1.得到记录?/P>

  使用Log4jQ第一步就是获取日志记录器Q这个记录器负责控制日志信息。其语法为:

  public static Logger getLogger( String name)

  通过指定的名字获得记录器Q如果必要的话,则ؓq个名字创徏一个新的记录器。Name一般取本类的名字,比如Q?

  static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )

  2.d配置文g

  当获得了日志记录器之后,W二步将配置Log4j环境Q其语法为:

  BasicConfigurator.configure ()Q?自动快速地使用~省Log4j环境?BR>  PropertyConfigurator.configure ( String configFilename) Q读取用Java的特性文件编写的配置文g?BR>  DOMConfigurator.configure ( String filename ) Q读取XML形式的配|文件?/P>

  3.插入记录信息Q格式化日志信息Q?/P>

  当上两个必要步骤执行完毕Q您可以轻村֜使用不同优先U别的日志记录语句插入到您想记录日志的Q何地方,其语法如下:

  Logger.debug ( Object message ) ;
  Logger.info ( Object message ) ;
  Logger.warn ( Object message ) ;
  Logger.error ( Object message ) ;

例子Q?BR>log4j.rootLogger=INFO,stdout,rolling
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %r [%t] %5p [%F:%L] - %m%n

log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%d %r [%t] %5p [%F:%L] - %m%n
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.File=c:\woogo.log
#log4j.appender.rolling.File=/usr/local/jakarta-tomcat-5.0.25/logs/woogo.log
log4j.appender.rolling.MaxFileSize=5120KB
log4j.appender.rolling.MaxBackupIndex=10



aiyoyoyo 2006-02-17 16:10 发表评论
]]>
վ֩ģ壺 | Т| | | | | | | ²| | | | ˶| | | | ɳ| ɳ| | 㶫ʡ| ī| | | ۽| | | »| | ʢ| | Т| | | | | ƽ| | | Ͳ| | ľ|