junctioner

          再學習log4j筆記

          log4j,字面意思就是針對j(Java)的日志。
          log4j,可以記錄顯示Java程序運行的每一步的數據,相當于System.out.print,不過,它是以一個日志文件顯示所標識的運行信息,不用在java運行顯示臺上看輸出信息,比較方面。
          log4j,記錄的數據,可以作為判斷程序運行狀態的重要依據,更多的應是查找程序運行BUG的重要依據,特別是程序已發布,不能做單步調試的情況下,它的優越性就突顯出來了。
          引用一個對log4j的功能比較專業的描述:

          1、監視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統計分析工作;
          2、跟蹤代碼運行時軌跡,作為日后審計的依據;
          3、擔當集成開發環境中的調試器的作用,向文件或控制臺打印代碼的調試信息。

          以前偶爾的用過幾次,但一次沒形成習慣和一套良好的應用機制,自咎主要原因是對log4j掌握的還是不夠,亟待提升。

          今天就花時間找些資源研究研究。

          在網上搜到一些文章,首先看的是IBM中國網站上的一篇技術文章(http://www-128.ibm.com/developerworks/cn/java/l-log4j/index.html)講得比較基礎,也很詳細,對log4j的使用講得全面而貼切,甚利于初次學習,發表日期是2002/6/19(有點早)。

          1、去網站(http://logging.apache.org/log4j/docs/download.html)下載log4j的jar包,直接下載log4j-1.2.13版鏈接:http://mirror.vmmatrix.net/apache/logging/log4j/1.2.13/logging-log4j-1.2.13.zip;
          2、解開log4j.jar文件放到web應用程序的WEB-INF/lib下面;
          3、編寫文件名為log4j.properties 配置文件到java源文件的根目錄中;
          4、在自己的程序中構建日志記錄器;
          5、利用記錄器標識要輸入的信息。

          第二步如果是在java的一般應用程序中應用log4j,則在環境變量CLASSPATH中添加一個指向log4j.jar的值。
          第三步把命名為log4j.properties的log4j配置文件放在java源文件目錄中是一個簡潔的辦法,可以在程序中自定義的指定log4j的配置文件,配置文件名稱和存放路徑都可自定義。

          當獲得了日志記錄器之后,第二步將配置Log4j環境,其語法為: 
          BasicConfigurator.configure (): 自動快速地使用缺省Log4j環境。 
          PropertyConfigurator.configure ( String configFilename) :讀取使用Java的特性文件編寫的配置文件。 
          DOMConfigurator.configure ( String filename ) :讀取XML形式的配置文件。

          Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是Java特性文件(鍵=值)。下面引用的是使用Java特性文件做為配置文件的方法(不用XML解析器):

          配置根Logger,其語法為: 
          log4j.rootLogger = [ level ] , appenderName, appenderName, …

          其中,level 是日志記錄的優先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。Log4j建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這里定義的級別,您可以控制到應用程序中相應級別的日志信息的開關。比如在這里定義了INFO級別,則應用程序中所有DEBUG級別的日志信息將不被打印出來。 
          appenderName就是指定日志信息輸出到哪個地方。您可以同時指定多個輸出目的地。 
          配置日志信息輸出目的地Appender,其語法為 
          log4j.appender.appenderName = fully.qualified.name.of.appender.class
          log4j.appender.appenderName.option1 = value1

          log4j.appender.appenderName.option = valueN其中,Log4j提供的appender有以下幾種: 
          org.apache.log4j.ConsoleAppender(控制臺), 
          org.apache.log4j.FileAppender(文件), 
          org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件),org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件), 
          org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方) 
          配置日志信息的格式(布局),其語法為: 
          log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
          log4j.appender.appenderName.layout.option1 = value1

          log4j.appender.appenderName.layout.option = valueN其中,Log4j提供的layout有以下幾種: 
          org.apache.log4j.HTMLLayout(以HTML表格形式布局), 
          org.apache.log4j.PatternLayout(可以靈活地指定布局模式), 
          org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串), 
          org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息) 

          下面是一個log4j配置文件的例子(內容不含前面的行號):
           1log4j.rootLogger=INFO, A1 , R
           2
           3log4j.appender.A1=org.apache.log4j.ConsoleAppender 
           4log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
           5log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 
           6
           7log4j.appender.R=org.apache.log4j.RollingFileAppender
           8log4j.appender.R.File=$TOMCAT_HOME/logs/log4j.log
           9##將$TOMCAT_HOME換成tomcat的安裝目錄,也可以指定一個存在的任意目錄
          10log4j.appender.R.MaxFileSize=100KB
          11log4j.appender.R.MaxBackupIndex=1
          12log4j.appender.R.layout=org.apache.log4j.PatternLayout
          13log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n


          第1行的值INFO,表示輸出INFO級以上的日志,如果設成OFF則表示不輸出,A1和R是自定義的兩種輸出方式(可以自定義n種輸出方式),其詳細內容在后面有定義;
          第3行定義A1是輸出到控制臺;
          第7行定義R是輸出到文件,并且控制文件在指定大小,超過指定大小自動按指定形式創建一個新名稱的日志文件;

          一般是以指定格式的文本輸出日志,輸出比較快捷,也可以定義HTML格式的日志輸出,閱讀方便,但稍微有點慢。

          現在,可以象使用System.out.println一樣標識程序輸出信息了看一個在程序中應用log4j的簡單例子。
          import org.apache.log4j.Level;
          import org.apache.log4j.Logger;
          import org.apache.log4j.SimpleLayout;
          import org.apache.log4j.FileAppender;
          public class simpandfile {
              //獲取log4j日志記錄器
             
          static Logger logger = Logger.getLogger(simpandfile.class);
             
          public static void main(String args[]) {
                 //新建一個日志輸出樣式
                SimpleLayout layout 
          = new SimpleLayout();

                FileAppender appender 
          = null;
                
          try {
                     //定義輸出文件
                   appender 
          = new FileAppender(layout,"output1.txt",false);
                }
           catch(Exception e) {}

                logger.addAppender(appender);
                 //設置日志輸出等級為DEBUG
                logger.setLevel((Level) Level.DEBUG);
                //以各種等級標識輸出信息
                logger.debug(
          "Here is some DEBUG");
                logger.info(
          "Here is some INFO");
                logger.warn(
          "Here is some WARN");
                logger.error(
          "Here is some ERROR");
                logger.fatal(
          "Here is some FATAL");
             }

          }

          如果定義了log4j的輸出配置文件,在程序中獲取日志記錄器后就可以直接標識日志輸出信息。

          [***] 在判斷DEBUG/INFO級別的信息是否要加入日志文件前,記錄器提供isDebugEnabled()/isInfoEnabled()方法判斷當前級別是否激活,這樣處理減少日志處理信息時再判斷當前級別是否激活消耗的資源,提高運行性能。

          補加:

          剛發現log4e(http://log4e.jayefem.de/index.php/Download)這個eclipse的插件,它實現的功能是鼠標點擊幾下,就可以自動生產log標識,免去手敲的體力。
          至于怎么用,就很簡單了,跟它的插件一樣安裝,裝完后,在eclipse的編輯區右鍵菜單中會多一個log4e項,所有操作都在這里了。

          posted @ 2006-02-13 10:52 junctioner 閱讀(3811) | 評論 (0)編輯 收藏

          注冊機是什么顏色的?

          注冊機是什么顏色的?黑色的??催^很多注冊機,都是黑色的界面,挺醒目的。

          注冊機、破解碼、散布的注冊碼、激活。。。。。

          這些都是搜索引擎中熱門的詞語,因為它們能逾越一些商業軟件的保護殼,讓復制者不用花什么代價就能使用那些軟件。

          我對開源、共享軟件是比較感興趣的,也愿意在這方面做出自己的努力。特別欣賞Jboss Group,看到他們,仿佛是看到軟件業最終的發展方向和模式。但在當前商業軟件為主的狀態下,特別是一些軟件企業依靠一份份軟件換來的錢活命的情況下,我們不能做那種下石頭的事吧。

          我是一個poor programmer,使用很多free工具,也使用黑色的工具,但我的原則是:自己使用,但不散發。

          我很可憐,也可憐別人,留給自己一點尊嚴。

          posted @ 2006-02-09 14:31 junctioner 閱讀(708) | 評論 (0)編輯 收藏

          企業應用鏈接收集

          SAP攜IBM推CRM托管服務 月收75美元

          posted @ 2006-02-07 20:15 junctioner 閱讀(274) | 評論 (0)編輯 收藏

          Jira 3.5 Enterprise EAR/WAR + mysql 安裝手記

          前段時間很容易的就試裝了jira的Professional Standalone, 寫得比較簡單,今天準備裝一下Enterprise EAR/WAR ,寫個詳細一點安裝手記。

          最開始的工作自然是下載了。
          把zip包解壓到一個目錄中,展開的內容如下:
          edit-webapp:這個目錄中放的是指定數據庫類型的配置文件;
          etc:這個目錄中存放有三個xml文件;分別是換ear/war包用的配置文件;
                   打war包的配置文件有兩一個,jira.xml是通用的,tomcat-5.5-jira.xml是專為tomcat-5.5準備的。
          src:這是一個空目錄,可以放自己添加的要編譯的功能源文件;
          tools:這個目錄中自帶一個ant(如果你沒有安裝ant,就用得到它);
          updater:為更新jira配備的一個更新工具目錄;
          webapp:主要的程序文件目錄;
          appendcp.bat:這個批處理文件沒怎么用到;
          build.bat:這個批處理文件把修改過的配置文件和程序文件打成一個可發布的war/ear包;
          build.sh:功能同build.bat,是在linux下用的;
          build.xml:ant的配置文件;
          readme.txt:軟件說明文件;

          展開的這些東西還只是“材料”,接下來就是做一些配置并把它們打成可發布的包。

          應用服務選用Tomcat5.0;
          數據庫選用mysql Ver 14.7 Distrib 4.1.14 for Win32;

          先建表空間,再分配用戶指定權限,

          create database jiradb;
          grant all privileges on jiradb.* to jiradbuser@localhost identified by 'jira';

          做好外部了準備工作,就進行配置。
          接著修改edit-webapp\WEB-INF\classes\entityengine.xml,
          找到
              <datasource name="defaultDS" 
                  field-type-name
          ="hsql"
                  helper-class
          ="org.ofbiz.core.entity.GenericHelperDAO"
                  check-on-start
          ="true"
                  use-foreign-keys
          ="false"
                  use-foreign-key-indices
          ="false"
                  check-fks-on-start
          ="false"
                  check-fk-indices-on-start
          ="false"
                  add-missing-on-start
          ="true"
                  check-indices-on-start
          ="true">
          替換為
              <datasource name="defaultDS" 
                  field-type-name
          ="mysql"
                  helper-class
          ="org.ofbiz.core.entity.GenericHelperDAO"
                  check-on-start
          ="true"
                  use-foreign-keys
          ="false"
                  use-foreign-key-indices
          ="false"
                  check-fks-on-start
          ="false"
                  check-fk-indices-on-start
          ="false"
                  add-missing-on-start
          ="true"
                  check-indices-on-start
          ="true">

          再修改etc\jira.xml(如果應用服務用tomcat5.5,則修改etc\tomcat-5.5-jira.xml
          找到
              <parameter>
                
          <name>driverClassName</name>
                  
          <!-- NOTE: if you change the database type, you will need to change it in WEB-INF/classes/entityengine.xml -->
                
          <value>org.hsqldb.jdbcDriver</value>
              
          </parameter>
              
          <parameter>
                
          <name>url</name>
                
          <value>jdbc:hsqldb:@JIRA_HOME@/database/jiradb</value>
              
          </parameter>
              
          <parameter>
                
          <name>username</name>
                
          <value>sa</value>
              
          </parameter>
              
          <parameter>
                
          <name>password</name>
                
          <value></value>
              
          </parameter>
          修改為
              <parameter>
                
          <name>driverClassName</name>
                  
          <!-- NOTE: if you change the database type, you will need to change it in WEB-INF/classes/entityengine.xml -->
                
          <value>com.mysql.jdbc.Driver</value>
              
          </parameter>
              
          <parameter>
                
          <name>url</name>
                
          <value>jdbc:mysql://localhost:3306/jiradb?autoReconnect=true</value>
              
          </parameter>
              
          <parameter>
                
          <name>username</name>
                
          <value>jiradbuser</value>
              
          </parameter>
              
          <parameter>
                
          <name>password</name>
                
          <value>jira</value>
              
          </parameter>

          配置完后,就可以build一個jira的war包了。
          如果系統中已裝有ant,則直接運行build.bat文件,沒有安裝的話,它會運行自帶的ant。

          build運行完后,會在當前目錄生成三個目錄,
          dist-generic:存放通用的war包,直接拷貝到應用服務的服務目錄中就可以運行;
          dist-tomcat:存放發布到tomcat中的外部war包及配置文件;
          tmp:build運行過程中的臨時文件目錄;

          dist-tomcat目錄中,有一個war包,和對應三個tomcat版本的配置文件目錄。

          在此,拷貝dist-tomcat/tomcat-5/jira.xml$Tomcat/conf/Catalina/localhost/
          啟動tomcat,在IE地址樣中輸入:http://localhost:8080/jira;
          第一次運行jira,顯示安裝配置頁面。(沒有裝截圖軟件,就不顯示截圖)
          在這個配置頁面,jira會根據操作系統的語言設置,選用相應的語言包(漢包的效果也不錯,不存在語言問題:)),依照著相關的提示做相應的設置就OK,唯一花時間的事,就是要在線生成一個授權碼,用下載jira的用戶名登錄,可以獲得一個援權碼,填好援權碼下一步。
          接下來是添加管理員,設置好后下一步。
          再接下來是郵件通知的設置,此處你可以暫時禁用郵件通知,以后也可以重新啟動郵件通知。
          設置完成后就可以以剛才添加的管理員登錄,創建BUG跟蹤管理項目了。

          posted @ 2006-02-06 12:01 junctioner 閱讀(2141) | 評論 (0)編輯 收藏

          開源殺毒軟件

          用過國內的多款殺毒軟件,也用過國外的數款殺毒軟件,用到最后是,機子里什么殺毒軟件都不裝。
          病毒還是防為主要的,真正中招了,輕傷,沒什么,這樣的病毒功力比較淺,也比較容易手工清除;重傷的話,機子里的文件已面目全非,就是用殺毒軟件也是提示“刪除該文件”。
          今天發現一開源的殺毒軟件(http://www.clamwin.com/),想看看他到底怎么樣,下載安裝試試。
          安裝很簡單,界面也很簡潔,三個功能按鈕,一看就知道怎么操作,點擊查毒,還真那么回事,開始掃描了。我機子的沒有中招,不知會不會掃出一些可疑文件出來:)
          這款軟件還有一個partner,功能是防毒,下載網址是:http://www.softpedia.com/get/Antivirus/Winpooch.shtml
          先裝上觀察幾天,過幾天給試用報告。

          posted @ 2006-01-20 09:19 junctioner 閱讀(2612) | 評論 (2)編輯 收藏

          學習python

          早就知道有這么一個東西了,一直沒時間看,今天就看看。
          第一件事,找官網:http://www.python.org/,東西還真多,不知從哪看起。
          不喜歡看些介紹的東西,就看新手向導( ),
          python也有它的“jdk”,最新版本是2.4.2,先下載下來再說,當!
          裝上之后,做什么呢?
          發現有代碼樣例,怎么讓它跑進來呢?
          找python的開發工具,一查,有好多,其中一種是eclipse+pydev的,試試這個
          pydev是eclipse做python開發的插件,官網是:
          http://pydev.sourceforge.net/
          對應版本有很多種,我裝有eclipse3.1,就當最新的,pydev0.9.8.6
          下載解開的文件,拷貝到eclipse的extplugin目錄,新建link文件,啟動eclipse,呵呵,還裝好了!
          在IBM的網站上找到這個資料:http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/#resources,比較老,是2004年的,但可以參照一下。
          還是在eclipse的windows-preferences-pydev中指定一個python的編輯器(剛才下載安裝python的“jdk”)。
          把其中的樣例代碼下載到項目中,還真跑起來了。
          也可以調試(調試運行的比較慢,可能是eclipse3.1的問題,呆會裝個eclipse3.0的調試看看)
          現在不知道python的語法,代碼看不懂,這是主要的。


          posted @ 2006-01-13 15:44 junctioner 閱讀(363) | 評論 (1)編輯 收藏

          Centric CRM 開源的客戶關系管理系統

          官網下載:http://www.centriccrm.com/Portal.do?key=home
          點了下載圖標后,半天沒找到下載的鏈接,左找右找,找到一個tab,上寫在download,復雜呀,還得點一下,看到下載的列表了,但點上去,還是沒反應,到底是啥回事呢?發現類型是.torrent,好象是BT下載的種子,以前沒用過BT,今天為了它,還得下載個BT玩玩。
          上網找了一個,裝上,還是沒反應,快暈了。
          再左看看,右看看,上看看,哦,要求是登錄了才可以下載,注冊登錄吧,這才發現下載的連接是活的了。當下了種了,再才開始下載。以前聽說BT是用來下載電影的,速度應很快,但怎么我今天用BT,它就不快呢,每秒才幾K,才10幾M的東西,得多長時間呀

          posted @ 2006-01-05 16:50 junctioner 閱讀(1531) | 評論 (1)編輯 收藏

          選用jira

          jira現在是商業化的軟件,先找個demo版看看。
          jira官網:http://www.atlassian.com/software/jira/
          jira分企業版、專業版、標準版三個版本,我選專業版。
          每個版本又分standalone和war/ear兩種發布形式,standalone是被推薦使用的,就先用它。
          下載完解開,從readme里找到jira的安裝說明鏈接:http://www.atlassian.com/software/jira/docs/v3.4.2/install.html
          照著安裝說明做,非常容易的就運行起來了。

          裝后感覺:
             1、standalone的jira中自帶一個tomcat,jira的資源包通過修改一些配置文件已發布到這個tomcat中,只要運行一下startup.bat就啟動了。
             2、漢化做的不全,后臺控制部分還是英文。
             3、功能還是比較多呀,得花時間研究怎么用呀。
             4、安裝配置的時候,未配置郵件分發服務(沒仔細看怎么配置,直接選禁用郵件分發),暫缺郵件分發這一功能。
             5、產品試用期是30天的,得想法辦法解決。
             6、安裝的時候沒有指定數據庫,使用默認的hsql,可參考下面的鏈接更換應用數據庫 http://www.atlassian.com/software/jira/docs/v3.4.2/standalone-dbconfig.html
          下面這個鏈接是講怎么更換到oracle上的
          http://www.aygfsteel.com/waterye/archive/2005/08/24/10959.aspx

          發現商業版的用戶可以獲取jira源碼,真是羨慕ing。

          posted @ 2006-01-05 09:11 junctioner 閱讀(496) | 評論 (1)編輯 收藏

          java和調用動態鏈接庫

          Java的運行是基于Java虛擬機的,Java虛擬機中又是一些動態鏈接庫文件,一直不清楚它們之間是怎么樣協同工作?

          什么是動態鏈接庫?在微軟中文網站(http://support.microsoft.com/default.aspx?scid=kb;zh-cn;815065)上有很清楚的介紹。
          DLL 是一個包含可由多個程序同時使用的代碼和數據的庫。

          介紹jvm.dll裝入過程:http://www.matrix.org.cn/resource/article/1/1650_jvm_loading_progress.html

          把java應用生成本地應用的介紹:http://community.borland.com/article/0,1410,20679,00.html

          posted @ 2005-12-31 16:45 junctioner 閱讀(977) | 評論 (0)編輯 收藏

          SWT學習樣例源碼

          昨天裝了SWT Designer后,摸索了半天,畫出幾個界面,但要讓它“活”起來,還是得寫一些代碼,暫時沒打算系統的去學習SWT,就偷懶,照別人的代碼畫瓢了。
          找到幾個不錯的SWT學習源碼網址:
          http://www.java2s.com/ExampleCode/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm

          posted @ 2005-12-31 15:13 junctioner 閱讀(278) | 評論 (0)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 下一頁 
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(8)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 剑河县| 泾源县| 鄢陵县| 潞西市| 蓬莱市| 涟源市| 贵州省| 胶州市| 盐城市| 合阳县| 双峰县| 东乌珠穆沁旗| 夏津县| 洮南市| 徐闻县| 龙泉市| 延长县| 桦南县| 台江县| 苏尼特右旗| 从江县| 墨脱县| 武川县| 阜宁县| 亳州市| 喜德县| 石屏县| 清徐县| 云林县| 右玉县| 桦川县| 塔河县| 大城县| 阿鲁科尔沁旗| 肥东县| 花莲县| 八宿县| 石城县| 大城县| 北川| 荃湾区|