??xml version="1.0" encoding="utf-8" standalone="yes"?>久99久在线视频,92久久精品,中文字幕高清在线观看http://www.aygfsteel.com/xfcoding/勤能补拙Q?/description>zh-cnFri, 04 Jul 2025 22:23:07 GMTFri, 04 Jul 2025 22:23:07 GMT60如何使用Log4jhttp://www.aygfsteel.com/xfcoding/articles/393882.html勤劳的小熊猫勤劳的小熊猫Sun, 06 Jan 2013 09:46:00 GMThttp://www.aygfsteel.com/xfcoding/articles/393882.htmlhttp://www.aygfsteel.com/xfcoding/comments/393882.htmlhttp://www.aygfsteel.com/xfcoding/articles/393882.html#Feedback0http://www.aygfsteel.com/xfcoding/comments/commentRss/393882.htmlhttp://www.aygfsteel.com/xfcoding/services/trackbacks/393882.html1?Log4j是什么?
  Log4j可以帮助调试Q有时候debug是发挥不了作
用的Q和分析Q要下蝲和了解更详细的内容,q是讉K其官方网站吧Q?/font> http://jakarta.apache.org/log4j ?br />
2、Log4j的概?/strong>
Log4j中有三个主要的组Ӟ它们分别?/font> Logger、Appender和LayoutQLog4j
允许开发h员定义多个LoggerQ每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关pR有一个LoggerUCؓRootQ它永远存在Q且不能通过名字索或引用Q可以通过Logger.getRootLogger()Ҏ获得Q其它Logger通过
Logger.getLogger(String name)Ҏ?br />  
Appender则是用来指明所有的log信息存放C么地方,Log4j中支持多UappenderQ如

console、files、GUI components、NT Event
Loggers{,一个Logger可以拥有多个AppenderQ也是你既可以Log信息输出到屏q,同时存储C个文件中?br />  
Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息?br />  
Log4j中将要输出的Log信息定义?U别,依次为DEBUG、INFO、WARN、ERROR和FATALQ当输出Ӟ只有U别高过配置中规定的U别的信息才能真正的输出Q这样就很方便的来配|不同情况下要输出的内容Q而不需要更改代码,q点实在是方便啊?br />
3、Log4j的配|文?/strong>
 
虽然可以不用配置文gQ而在E序中实现配|,但这U方法在如今的系l开发中昄是不可取的,能采用配|文件的地方一定一定要用配|文件。Log4j支持两种格式的配|文ӞXML格式和Java的property格式Q本人更喜欢后者,首先看一个简单的例子吧,如下Q?br />
  log4j.rootLogger=debug, stdout,
R

 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

  # Pattern
to output the caller's file name and line number.
 
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L)
- %m%n

 
log4j.appender.R=org.apache.log4j.RollingFileAppender
 
log4j.appender.R.File=example.log
  log4j.appender.R.MaxFileSize=

100KB

  # Keep one backup file
 
log4j.appender.R.MaxBackupIndex=1

 
log4j.appender.R.layout=org.apache.log4j.PatternLayout
 
log4j.appender.R.layout.ConversionPattern=%p %t %c -
%m%n        

  首先Q是讄rootQ格式ؓ log4j.rootLogger=[level],appenderName, ...Q其中level是讄需要输Z息的U别Q后面是appender的输出的目的圎ͼappenderName是指定日志信息输出到哪个地斏V您可以同时指定多个输出目的地?/font>
配置日志信息输出目的地AppenderQ其语法?br /> 
log4j.appender.appenderName = fully.qualified.name.of.appender.class
 
log4j.appender.appenderName.option1 = value1
  ...
 
log4j.appender.appenderName.option = valueN

Log4j提供的appender有以下几U:
  org.apache.log4j.ConsoleAppenderQ控制台Q?br /> 
org.apache.log4j.FileAppenderQ文Ӟ
 
org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文Ӟ
 
org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生新文gQ?br /> 
org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)
配置日志信息的格式(布局Q,其语法ؓQ?br /> 
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
 
log4j.appender.appenderName.layout.option1 = value1
  ....
 
log4j.appender.appenderName.layout.option = valueN

Log4j提供的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_?#8220;\r\n”QUnixq_?#8220;\n”
  %d
输出日志旉点的日期或时_默认格式为ISO8601Q也可以在其后指定格式,比如Q?d{yyy MMM dd
HH:mm:ss,SSS}Q输出类|
2002q?0?8?/font> 22Q?0Q?8Q?21
  %l
输出日志事g的发生位|,包括cȝ名、发生的U程Q以及在代码中的行数。D例:Testlog4.main(TestLog4.java:10)



4、Log4j在程序中的?/strong>

 
要在自己的程序中使用Log4jQ首先需要将commons-logging.jar和logging-log4j-1.2.9.jar导入到构\径中。然后再log4j.properties攑ֈsrc根目录下。这样就可以在程序中使用log4j了。在cM使用log4jQ?/font>
首先声明一个静态变?/font> Logger
logger=Logger.getLog("classname")Q现在就可以使用了,用法如下Qlogger.debug("debug
message")或者logger.info("info message")Q看下面一个小例子Q?/font>


  import
com.foo.Bar;
  import org.apache.log4j.Logger;
  import
org.apache.log4j.PropertyConfigurator;
  public class MyApp {
    static
Logger logger = Logger.getLogger(MyApp.class.getName());
    public static
void main(String[] args) {
      // BasicConfigurator replaced with
PropertyConfigurator.
      PropertyConfigurator.configure(args[0]);
     
logger.info("Entering application.");
      Bar bar = new Bar();
     
bar.doIt();
      logger.info("Exiting application.");
    }
  }


]]>
tomcatq接池泄露的监控和解?/title><link>http://www.aygfsteel.com/xfcoding/articles/393879.html</link><dc:creator>勤劳的小熊猫</dc:creator><author>勤劳的小熊猫</author><pubDate>Sun, 06 Jan 2013 09:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/xfcoding/articles/393879.html</guid><wfw:comment>http://www.aygfsteel.com/xfcoding/comments/393879.html</wfw:comment><comments>http://www.aygfsteel.com/xfcoding/articles/393879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xfcoding/comments/commentRss/393879.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xfcoding/services/trackbacks/393879.html</trackback:ping><description><![CDATA[ <div>1. 问题描述<br />WebE序?strong style="color: black; background-color: rgb(255, 255, 102);">tomcat</strong>刚开始运行时速度很快Q但q一D|间后发现速度变得很慢?br />查日志输出,发现异常如下:<br />org.apache.commons.dbcp.SQLNestedException: <br />Cannot get a connection, pool exhausted, <br />cause:<br />java.util.NoSuchElementException: Timeout waiting for idle <br />object<br />同时在SQLServer事g探查器中发现Q每执行一ơsql语句都要产生Audit login事gQ语句执行后产生<br />Audit <br />logout事g。说明每一?strong style="color: black; background-color: rgb(255, 255, 102);">tomcat</strong>都是重新打开新的q接?/div><br /><div>2. 问题解决<br /><strong style="color: black; background-color: rgb(255, 255, 102);">tomcat</strong> <br />的数据源定义提供了三个参敎ͼ<br />a. 如果设ؓtrue?strong style="color: black; background-color: rgb(255, 255, 102);">tomcat</strong>自动查恢复重新利用,没有正常关闭的Connection.Q默认是falseQ?br /><parameter><br /><name>removeAbandoned</name><br /><value>true</value><br /></parameter><br />b. <br />讑֮q接在多秒内被认ؓ是放弃的q接Q即可进行恢复利用?br /><parameter><br /><name>removeAbandonedTimeout</name><br /><value>60</value><br /></parameter><br />c. <br />输出回收的日志,可以详细打印出异总而发现是在那里发生了泄漏<br /><parameter><br /><name>logAbandoned</name><br /><value>true</value><br /></parameter><br /><br />比如Q?a style="color: blue; margin-left: -2em;" xmlns="http://www.w3.org/1999/xhtml"><<span style="color: rgb(153, 0, 0);">Resource</span> <span style="color: rgb(153, 0, 0);">logAbandoned</span>="<span style="color: black; font-weight: bold;">true</span>" <span style="color: rgb(153, 0, 0);">removeAbandonedTimeout</span>="<span style="color: black; font-weight: bold;">60</span>" <span style="color: rgb(153, 0, 0);">removeAbandoned</span>="<span style="color: black; font-weight: bold;">true</span>"</a><br /></div> <img src ="http://www.aygfsteel.com/xfcoding/aggbug/393879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xfcoding/" target="_blank">勤劳的小熊猫</a> 2013-01-06 17:04 <a href="http://www.aygfsteel.com/xfcoding/articles/393879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>window控制台操作数据库http://www.aygfsteel.com/xfcoding/articles/243054.html勤劳的小熊猫勤劳的小熊猫Thu, 27 Nov 2008 10:17:00 GMThttp://www.aygfsteel.com/xfcoding/articles/243054.htmlhttp://www.aygfsteel.com/xfcoding/comments/243054.htmlhttp://www.aygfsteel.com/xfcoding/articles/243054.html#Feedback1http://www.aygfsteel.com/xfcoding/comments/commentRss/243054.htmlhttp://www.aygfsteel.com/xfcoding/services/trackbacks/243054.html 1Q操作远E数据库
先找到mysql安装地方 q入bin目录
mysql -h192.168.1.245 -u用户?-p回R
输入密码
  成功q入
show databases; 查看所有库?br /> use ?br /> show tables; 查看某库下面的所有表

2,把查询结果导出到window文g
tee e:/xiangrong.txt;
select * from ?;
q样l果导入了本地e盘的xiangrong.txt中了

3,操作本地数据?br /> cmd
直接mysql -uesknet -p回R
其它都差不多

4 导入数据?br /> cmd
mysql -uroot -proot 库名 <D:/db/dbbackdb_admin20081024


]]>
hibernate里面到的一个小问题Q怕以后忘了,提一下!http://www.aygfsteel.com/xfcoding/archive/2008/11/27/243052.html勤劳的小熊猫勤劳的小熊猫Thu, 27 Nov 2008 10:12:00 GMThttp://www.aygfsteel.com/xfcoding/archive/2008/11/27/243052.htmlhttp://www.aygfsteel.com/xfcoding/comments/243052.htmlhttp://www.aygfsteel.com/xfcoding/archive/2008/11/27/243052.html#Feedback0http://www.aygfsteel.com/xfcoding/comments/commentRss/243052.htmlhttp://www.aygfsteel.com/xfcoding/services/trackbacks/243052.html

]]>
验证?/title><link>http://www.aygfsteel.com/xfcoding/archive/2008/11/27/242960.html</link><dc:creator>勤劳的小熊猫</dc:creator><author>勤劳的小熊猫</author><pubDate>Thu, 27 Nov 2008 03:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/xfcoding/archive/2008/11/27/242960.html</guid><wfw:comment>http://www.aygfsteel.com/xfcoding/comments/242960.html</wfw:comment><comments>http://www.aygfsteel.com/xfcoding/archive/2008/11/27/242960.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xfcoding/comments/commentRss/242960.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xfcoding/services/trackbacks/242960.html</trackback:ping><description><![CDATA[ 文g里面上传了验证码?round.jsp文g的压~包Q利用图片做验证码的昄 。提交前先用异步h判断验证码是否正?Qajax提交的时候xmlHttp.open("get",url,false);里面要写false 是异步hq回的验证码不对的时候不会提交表单。然后photo.src ="<%=request.getContextPath()%>/cslog/round.jsp?"+Math.random();  重新指向round.jsp文gQ就直接h验证码。Math.random()是保证每ơ的验证码不会跟上一ơ相同,因ؓ在JS里面Q如果有一相同的字W的话,׃会提交。保证验证码的正??br /> <img src ="http://www.aygfsteel.com/xfcoding/aggbug/242960.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xfcoding/" target="_blank">勤劳的小熊猫</a> 2008-11-27 11:25 <a href="http://www.aygfsteel.com/xfcoding/archive/2008/11/27/242960.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title><%@ page isELIgnored = "false"%>http://www.aygfsteel.com/xfcoding/archive/2008/11/27/242954.html勤劳的小熊猫勤劳的小熊猫Thu, 27 Nov 2008 03:18:00 GMThttp://www.aygfsteel.com/xfcoding/archive/2008/11/27/242954.htmlhttp://www.aygfsteel.com/xfcoding/comments/242954.htmlhttp://www.aygfsteel.com/xfcoding/archive/2008/11/27/242954.html#Feedback0http://www.aygfsteel.com/xfcoding/comments/commentRss/242954.htmlhttp://www.aygfsteel.com/xfcoding/services/trackbacks/242954.html
l过资料的搜?发现在页面中,要加上下面这句话,试?发现JSTL能够正确的工?

<%@ page isELIgnored = "false"%>

另外,如果把这句话,Ҏ<%@ page isELIgnored = "true"%>,同样,也不能正工?




]]>
վ֩ģ壺 | Ȫ| Ұ| 㶫ʡ| | ˹| | Ͽ| | ̨| | ˫Ѽɽ| ʡ| ͷ| | | ֲ| | | | ±| | ɾ| | Զ| | ̫| | ƽ| | ̷| ά| | ˮ| | | | ξ| | ʯ| ¸|