??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产网址,色播亚洲视频在线观看,精品久久97http://www.aygfsteel.com/hilor/category/24649.html我的学习档案?/description>zh-cnTue, 04 Sep 2007 19:56:37 GMTTue, 04 Sep 2007 19:56:37 GMT60Log4j学习W记http://www.aygfsteel.com/hilor/articles/137546.htmlhilorhilorFri, 17 Aug 2007 06:54:00 GMThttp://www.aygfsteel.com/hilor/articles/137546.htmlhttp://www.aygfsteel.com/hilor/comments/137546.htmlhttp://www.aygfsteel.com/hilor/articles/137546.html#Feedback0http://www.aygfsteel.com/hilor/comments/commentRss/137546.htmlhttp://www.aygfsteel.com/hilor/services/trackbacks/137546.html在网上学习了一下Log4jQ以下是一些简单的学习W记

Apache的开源项目Log4j是一个功能强大的日志lg,提供快速有效的日志记录Q开发者通过单的学习Q即可ؓ自己的程序中加入非常实用的日志功能?br>在apache|站Q?a >http://jakarta.apache.org/log4j 可以免费下蝲到Log4j最新版本的软g包,解压Q将其中打包好的的log4j-1.x.x.jar文g复制到classpath相关目录??/p>

一、快速体?br>okQ现在就可以来体验一下Log4j的功能,按以下步骤在E序中快速加入了日志功能?br>参看下面q个单的例子一Q?br>W一? 用import导入Log4j需要用的相关的类
W二? 定义获取一个日志记录器Logger的对?br>W三? 装入Log4j的配|文Ӟ或者用缺省环境的配置
W四步:现在可以在你的程序中惌出日志的地方Q用LoggercL供的以下ҎQ插入不同优先的日志了?br> debug(Object message ) ;
 info(Object message ) ;
 warn(Object message ) ;
 error(Object message ) ;

大功告成Q是不是非常单呢Q完全可以取代以前常用来调试E序的System.out.println("xxxxxxxxxxxx")q样的语?而且log4j可以通过自定义配|文件来灉|地对日志输出的别进行控制?br>Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q?br>例子一Q?br>package com.study;

/**导入Log4j需要用的相关的类*/
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;

/**
 * <p>Title: Log4j例子</p>
 * <p>Description: 快速在E序中用Log4j</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * @author Robin
 * @version 1.0
 */
public class HelloLog4j {

  //定义日志记录器loggerQ所有的日志由它来负责记?
  static Logger logger=Logger.getLogger(HelloLog4j.class.getClass());

  public static void main(String[] args) {
    //使用~省环境来配|Log4j
    BasicConfigurator.configure();
 //使用配置文g来配|Log4j
 //PropertyConfigurator.configure ( "D:\\testLog4j.properties" ) ;

    //插入日志信息
    logger.info("HelloLog4j开始执?);
    try {
      HelloLog4j helloLog4j1 = new HelloLog4j();
      int count=helloLog4j1.count(1,-32);
      logger.debug("count的gؓQ?+count);
    }
    catch (Exception e) {
      logger.error("error"+e.getMessage());
    }
    logger.info("HelloLog4j执行完成");   
  }
  /**
   * 求两整数C?br>   * */
  public int count(int a,int b) {
    int add=a+b;
    if (add<0){
      logger.warn("两数之和于?);
    }
    return add;
  }
}
Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q?br>二、配|Log4j
我们可以通过自定义定义配|文件来Ҏ志的输出q行动态的控制?br>Log4j支持两种配置文g格式Q一U是XML格式的文Ӟ一U是JavaҎ文Ӟ?|?br>可以用以下方式来载入配置文g:
 1、蝲入用Java 键—值对的属性文件编写的配置文g?br> PropertyConfigurator.configure ( String configFilename)
 2、蝲入XML形式的配|文?br> DOMConfigurator.configure ( String filename )?/p>

看一个简单的java属性配|文件testLog4j.propertiesQ?br>Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q?br>#指定根LoggerQ及日志输出U别Q大于等于该U别的日志将被输出( DEBUG < INFO < WARN < ERROR < FATAL Q?设ؓOFF可以关闭日志
log4j.rootLogger=DEBUG, A1,A2
#指定log输出目的,q里设ؓ输出日志到指定目录的文gmy.log?br>log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=d:\\study\\my.log
#指定日志信息的格?br>log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n

#把A2输出到控制台
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.SimpleLayout

#q可以单独指定输出某个包的日志?br>#log4j.logger.com.study.HelloLog4j=INFO
Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q#Q?/p>

1、配|根LoggerQ其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName2
levelQ日志的U别Q指定这条日志信息的重要性。分为ALL < DEBUG < INFO < WARN <ERROR < FATAL < OFF
一般常用的?DEBUG Q?INFO QWARN QERROR四种Q分别对应Loggercȝ四种Ҏ
 debug(Object message ) ;
 info(Object message ) ;
 warn(Object message ) ;
 error(Object message ) ;
如果讄U别为INFOQ则优先U大于等于INFOU别Q如QINFO、WARN、ERRORQ的日志信息可以被输出,于该别的如:DEBUG不会被输出
appenderName :是指定日志信息输出目的圎ͼ比如Q打印到控制収ͼ输出到文件等Q。同一条日志信息可以配|多个输出目的地?/p>

2、配|log输出目的?br> Log4j提供以下几种Q?br> org.apache.log4j.ConsoleAppenderQ控制台Q?br> org.apache.log4j.FileAppenderQ文Ӟ
 org.apache.log4j.DailyRollingFileAppenderQ每天生一个日志文Ӟ
 org.apache.log4j.RollingFileAppenderQ文件大到达指定尺寸的时候生一个新的文Ӟ
 org.apache.log4j.WriterAppenderQ将日志信息以流格式发送到L指定的地方)
3、log信息的格?br> org.apache.log4j.HTMLLayoutQHTML表格形式Q?br> org.apache.log4j.SimpleLayoutQ简单格式的日志Q只包括日志信息的别和指定的信息字W串 Q如:DEBUG - HelloQ?br> org.apache.log4j.TTCCLayoutQ日志的格式包括日志产生的时间、线E、类别等{信息)
 org.apache.log4j.PatternLayoutQ灵zd自定义日志格式)

当用org.apache.log4j.PatternLayout来自定义信息格式Ӟ可以使用
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 来格式化信息
%c    输出所属类的全名,可写?%c{Num} ,Numcd输出的范?nbsp; 如:"com.sun.aaa.classB", %C{2}日志输出输出范围为:aaa.classB
%d    输出日志旉其格式ؓ 可指定格??%d{HH:mm:ss}{?br>%l    输出日志事g发生位置Q包括类目名、发生线E,在代码中的行?br>%n    换行W?br>%m    输出代码指定信息Q如info(“message”),输出message
%p    输出日志的优先Q即 FATAL ,ERROR {?br>%r    输出从启动到昄该条日志信息所耗费的时_毫秒敎ͼ
%t    输出产生该日志事件的U程?br>更详l参C息可参看corg.apache.log4j.PatternLayout的API doc文档

关于性能Q?br>加入日志L会带来一些性能损耗,当然l大多数情况下可以忽略不计?br>1、当某个U别的日志被屏蔽输出Ӟ比如Q配|别ؓINFO,那么E序中DEBUGU别的日志语句将被禁止输?br>如:
 logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
以上语句中,虽然debug语句里的消息不会输出到日志里Q但消息中字W串构造的操作依然会执行,当操作比较复杂时Q有时会带来一些性能损耗,可以Ҏ一下写法:
 if(logger.isDebugEnabled() {
        logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
    }
则一旦DEBUGU别被禁止输出,则不会执行日志信息后面的字符串操作?br>2、由于日志记录器LoggerQ支持命名的层次Q所以在子层ơ向上查扄承自父层ơ的日志U别Ӟ也可能会有一些性能损耗?/p>

MQLog4j的设计目标已l充份考虑C速度优先。经q多ơ的改写Q性能问题已经几乎基本完全不是问题Q它是一个非怼U的工LӞ使用它带来的好处Q大大多于失ȝ那一点点性能损耗。完全可以大胆用?/p>
============================================
commons-logging和log4jl合Qhttp://dev.csdn.net/develop/article/29/29531.shtm

我在web-inf/classses目录下徏了commons-logging.properties和log4j.properties,我徏了两个appender,
commons-logging.properties内容:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
log4j.properties内容:
log4j.rootLogger=debug, dest1,dest2

log4j.appender.dest1=org.apache.log4j.ConsoleAppender
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d %-5p %-5c{3} %x -> %m%n


log4j.appender.dest2=org.apache.log4j.RollingFileAppender
log4j.appender.dest2.File=c://bridge.log

log4j.appender.dest2.MaxFileSize=100KB
# Keep one backup file
log4j.appender.dest2.MaxBackupIndex=3

log4j.appender.dest2.layout=org.apache.log4j.PatternLayout
log4j.appender.dest2.layout.ConversionPattern=%d [%t] %-5p %-5c{3}(%L) %x -> %m%n



hilor 2007-08-17 14:54 发表评论
]]>
Eclipse资源文g~辑工具http://www.aygfsteel.com/hilor/articles/134636.htmlhilorhilorMon, 06 Aug 2007 02:52:00 GMThttp://www.aygfsteel.com/hilor/articles/134636.htmlhttp://www.aygfsteel.com/hilor/comments/134636.htmlhttp://www.aygfsteel.com/hilor/articles/134636.html#Feedback0http://www.aygfsteel.com/hilor/comments/commentRss/134636.htmlhttp://www.aygfsteel.com/hilor/services/trackbacks/134636.html介绍两个Eclipse插g,用来~缉资源文g?
在Eclipse中只能编辑英文资源文?要编辑中文资源文?一般要用JDK中的native2ascii工具q行转换.q样的操作对于一个或两个资源文gq好,一但要操作的资源文件多?q样未免有些麻烦了.在Eclipse下有两个可以用来~辑中文资源文g的工?JInto和Properties Editor,使用h各有千秋.JINTO可以同时~辑多个资源文g,例如把APPLICATION_EN.Properties和APPLICATION_ZH_CN.Properties两个文g都用open with jinto打开,那么可以看C个文件在同一个编辑界面了.而Properties Editor主要用来~辑单个资源文g.  下蝲地址在下?如果有问题可以留a.
JInto 0.8.0

  主页 http://www.guh-software.de/jinto.html

  下蝲 http://www.guh-software.de/jinto/de.guhsoft.jinto_0.8.0.zip

  文档 http://www.guh-software.de/jinto/JIntoGettingStarted.pdf Q英文)

 

Properties Editor

  主页 http://propedit.sourceforge.jp/index_en.html

  它提供了三个版本Q单独运行的版本、Eclipse版本、JBuilder版本Q这里只看看Eclipse3下的版本?/p>

  PropertiesEditor_EclipsePlugin_for_3.0 V4.4.0

安装Ҏ
Please choose from the screen of Eclipse with "Help" ->"Software Updates" -> "Update Manager". An ~Update Manager~ opens.


In the "Feature Updates" view at the lower left of an ~Update Manager~, please carry out the right click of the "Sites to Visit", and create a site bookmark by "New" -> "Site Bookmark...".
- The bookmark to create should input the following "URL" and should push an "Finish" button.
Name: Arbitrary input
URL : http://propedit.sourceforge.jp/eclipse/updates/
Bookmark type: Eclipse update site


If a site bookmark is created, the bookmark created at the bottom of "Feature Updates" will appear.
A click of "jp.gr.java_conf.ussiy.app.propedit.eclipse.feature.PropertiesEditorFeature x.x.x" displays a preview on a right window. Since the button "Install Now" is in around the lower right, please click.


Since an installation wizard starts, please click a "Next" button rapidly.


"You will need to restart the workbench for the changes to take effect. Would you like to restart now?" is displayed. Please reboot Eclipse according to a dialog.



hilor 2007-08-06 10:52 发表评论
]]>
eclipse插g安装Ҏhttp://www.aygfsteel.com/hilor/articles/134623.htmlhilorhilorMon, 06 Aug 2007 02:36:00 GMThttp://www.aygfsteel.com/hilor/articles/134623.htmlhttp://www.aygfsteel.com/hilor/comments/134623.htmlhttp://www.aygfsteel.com/hilor/articles/134623.html#Feedback0http://www.aygfsteel.com/hilor/comments/commentRss/134623.htmlhttp://www.aygfsteel.com/hilor/services/trackbacks/134623.html
      最q在学习eclispeQ以前安装升U包都是直接解压或者安装,如果安装多了l常出现很多问题。所?#8230;… eclipse插g都是安装在plugins目录下。不q这样一来,当安装了许多插g之后Qeclipse变的很大Q最主要的是不便于更新和理众多插g。用links方式安装eclipse插gQ可以解册个问题?当前配置XP SP1Qeclipse3.0.1 现在假设我的eclipse安装目录是e:\eclipseQ待安装插g目录是e:\plug-in Q我要安装LanguagePackFeatureQ语a包)、emf-sdo-xsd-SDK、GEF-SDK、Lombozq四个插件?先把q四个插件程序全部放在e:\plug-in目录里,分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录Q这个目录包含一个plugins目录Q要先在Lomboz3.0.1目录中新Z个子目录eclipseQ然后把plugins目录Ud到刚建立的eclipse目录中,即目录结构要是这LQe:\plug-in\Lomboz3.0.1\eclipse\plugins Eclipse 会到指定的目录下去查找 eclipse\features 目录和eclipse\plugins 目录Q看是否有合法的功能部g和(或)插g。也是_目标目录必须包含一?\eclipse 目录。如果找刎ͼ附加的功能部件和插g在运行期配置是将是可用的Q如果链接文件是在工作区创徏之后d的,附加的功能部件和插g会作为新的配|变更来处理?其它压羃文g解压后若已经包含eclipse\plugins目录Q则不需要徏立eclipse目录?然后?eclipse安装目录e:\eclipse目录中徏立一个子目录linksQ在links目录中徏立一个link文gQ比?LanguagePackFeature.linkQ改文g内容?path=e:/plug-in/LanguagePackFeature 卌个link文g要对应一个刚解压后的插g目录。说明: 1. 插g可以分别安装在多个自定义的目录中。 2. 一个自定义目录可以安装多个插g。 3. link文g的文件名及扩展名可以取Q意名Uͼ比如ddd.txtQmyplugin都可以。 4. link文g中path=插g目录的path路径分隔要用\\或是/  5. 在links目录也可以有多个link文gQ每个link文g中的path参数都将生效。 6. 插g目录可以使用相对路径?7. 可以在links目录中徏立一个子目录Q{UL时不用的插g到此子目录中Q加快eclipse启动?8. 如果安装后看不到插gQ把eclipse 目录下的configuration目录删除Q重启即?

2: 直接安装

      直接下载的插g复制到Eclipse安装目录下的plugins文g夹内卛_.比如安装一个weblogic的插?下蝲解压后得C个目录:【com.bea.eclipse.weblogic_1.1.1】,我就这个目录直接放?ECLIPSE_HOME%\plugins目录下,重新启动eclipse之后q到Run->“Start Weblogic”的菜单。安装之后,weblogic插g的全路径为:%ECLIPSE_HOME%\plugins\com.bea.eclipse.weblogic_1.1.1].


hilor 2007-08-06 10:36 发表评论
]]>
Eclipse 启动q行速度调优http://www.aygfsteel.com/hilor/articles/134612.htmlhilorhilorMon, 06 Aug 2007 02:24:00 GMThttp://www.aygfsteel.com/hilor/articles/134612.htmlhttp://www.aygfsteel.com/hilor/comments/134612.htmlhttp://www.aygfsteel.com/hilor/articles/134612.html#Feedback0http://www.aygfsteel.com/hilor/comments/commentRss/134612.htmlhttp://www.aygfsteel.com/hilor/services/trackbacks/134612.htmlEclipse 启动q行速度调优


提高 JAVA IDE 的性能的JVM开?br>
我的本本是IBMR60 内存1GQeclipse 3.2.1 + myeclipse 5.5.1 速度q不错?/p>

q行参数如下Q?br>eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M

Q-Q-Q-Q-Q-Q-Q-

JVM 提供了各U用于调整内存分配和垃圾回收行ؓ的标准开兛_非标准开兟뀂其中一些设|可以提?JAVA IDE 的性能?br>注意Q由?-X Q尤其是 -XX JVMQ开关通常?JVM ?JVM 供应商特定的Q本部分介绍的开兛_用于 Sun Microsystems J2SE 1.4.2?/p>

以下讄在大多数pȝ上将产生比工厂更好的讄性能?br>-vmargs - 表示后面的所有参数直接传递到所指示?Java VM?/p>

-Xverify:none - 此开兛_闭Java字节码验证,从而加快了c装入的速度Qƈ使得在仅为验证目的而启动的q程中无需装入cR此开关羃短了启动旉Q因此没有理׃使用它?/p>

-Xms24m - 此设|指C?Java 虚拟机将其初始堆大小讄?24 MB。通过指示 JVM 最初应分配l堆的内存数量,可以?JVM 不必?IDE 占用较多内存时增加堆大小?/p>

-Xmx96m - 此设|指?Java 虚拟机应对堆使用的最大内存数量。ؓ此数量设|上限表C?Java q程消耗的内存数量不得过可用的物理内存数量。对于具有更多内存的pȝ可以增加此限Ӟ96 MB 讄有助于确?IDE 在内存量?128MB ?256MB 的系l上能够可靠地执行操作。注意:不要该D|ؓ接近或大于系l的物理内存量,否则在主要回收q程中导致频J的交换操作?/p>

-XX:PermSize=20m - ?JVM 开关不仅功能更为强大,而且能够~短启动旉。该讄用于调整内存"怹区域"Q类保存在该区域中)的大。因此我们向 JVM 提示它将需要的内存量。该讄消除了许多系l启动过E中的主要垃圾收集事件。SunONE Studio 或其它包含更多模块的 IDE 的用户可能希望将该数D|得更高?br>下面列出了其它一些可能对 ECLIPSE 在某些系l(不是所有系l)上的性能产生d或明昑֪响的 JVM 开兟뀂尽用它们会产生一定的影响Q但仍值得一试?/p>

-XX:CompileThreshold=100 - 此开兛_降低启动速度Q原因是与不使用此开关相比,HotSpot 能够更快地将更多的方法编译ؓ本地代码。其l果是提高了 IDE q行时的性能Q这是因为更多的 UI 代码被~译而不是被解释。该DC方法在被编译前必须被调用的ơ数?/p>

-XX:+UseConcMarkSweepGC -XX:+UseParNewGC - 如果垃圾回收频繁中断Q则请尝试用这些开兟뀂此开兛_?JVM 对主要垃圑֛收事Ӟ如果在多处理器工作站上运行,则也适用于次要回收事Ӟ使用不同的算法,q些法不会影响整个垃圾回收q程。注意:目前不定此收集器是提高还是降低单处理器计机的性能?/p>

-XX:+UseParallelGC - 某些试表明Q至在内存配置相当良好的单处理器系l中Q用此回收法可以次要垃圑֛收的持箋旉减半。注意,q是一个矛盄问题Q事实上此回收器主要适用于具有千兆字节堆的多处理器。尚无可用数据表明它对主要垃圑֛收的影响。注意:此回收器?-XX:+UseConcMarkSweepGC 是互斥的?/p>

我的机器?12MB的内?br>下面是我的eclipse启动参数Qeclipse.exe -vmargs -Xverify:none -Xms64M -Xmx256M -XX:PermSize=20M  -XX:+UseParallelGC

-----

By BeanSoft:
我的电脑?G内存, 有一ơ内存不了... MyEclipse 推荐我使用一个启动参? 现在我的启动参数?


eclipse.exe -vmargs -Xverify:none -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+UseParallelGC

MyEclipse 推荐的运行参?

hilor 2007-08-06 10:24 发表评论
]]>
վ֩ģ壺 ־| | ͨ| | | | ɽ| | | | ˮ| | ̨| | Ͻ| | | ľ| ƽ| Ƥ| ½| Ժ| Դ| | | | ʢ| | | | | ɫ| | Ȫ| »| ؼ| | | | | ɽ|