Google Analytics

2014年3月26日 星期三

Tomcat6 rotate日誌檔catalina.out的方式


Apache Tomcat有一個相當煩人的問題,就是它會把system.out/system.err都輸出至catalina.out檔案中(預設目錄在$CATALINA_HOME/logs),且這一個catalina.out檔案並不會rotate,檔案會愈長愈大。

要切割此catalina.out的方法,可以使用cronolog幫忙做rotate(因為catalina.out在catalina.sh shell script中是透過 pipe到檔案去做的);還有一種方式是將catalina.out改用log4j輸出,以下就介紹這個方式的設定步驟:
  1. 執行/opt/tomcat6/bin/version.sh,確認tomcat的version。
  2. http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.37/bin/extras/(要根據步驟1的版號找出正確的網址)下載tomcat-juli.jar與tomcat-juli-adapters.jar,Upload至server上。
  3. log4j (需1.2之後版本,在此使用1.2.17)下載log4j-1.2.17.jar,Upload 至server上。
  4. 停止 tomcat
  5. 備份$CATALINA_HOME/bin/tomcat-juli.jar,複製下載的tomcat-juli.jar至此目錄
  6. 複製tomcat-juli-adapters.jar至$CATALINA_HOME/lib/目錄
  7. 複製log4j-1.2.17.jar至$CATALINA_HOME/lib/目錄
  8. 於$CATALINA_HOME/lib/目錄下,建立log4j.properties,範例內容如下:
    log4j.rootLogger=INFO,rollingFile

    log4j.appender.rollingFile=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.rollingFile.File=${catalina.base}/logs/catalina
    log4j.appender.rollingFile.Append=true
    log4j.appender.rollingFile.Encoding=UTF-8
    log4j.appender.rollingFile.DatePattern='.'yyyy-MM-dd'.out'
    log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c:%L - %m%n
  9. 備份$CATALINA_HOME/conf/context.xml

  10. <Context>
    改為
    <Context swallowOutput="true">

  11. 啟動 tomcat

2014年3月24日 星期一

Cygwin安裝



為了能在Windows的環境下執行Linux的指令(如bash),可以安裝Cygwin這一個程式。

安裝步驟:

  1. Cygwin的下載最新版本的Cygwin,要注意你的windows是32 bit或64 bit,並下載對應的版本。
  2. 執行下載的執行檔。


  3. 選擇「Install from Internet」。
  4. 指定Cygwin的安裝目錄。
  5. 指定Cygwin的下載目錄。
  6. 選擇你連線至網路的方式(是否使用proxy)。
  7. 選擇下載的網站。
  8. 選擇要安裝的套件,選擇「Admin/cygrunsrv」、「Editors/vim」、「Net/openssh」、「Net/openssl」這四個套件,其他若有需要亦可自行增添。
  9. 顯示所有安裝時需要一併安裝的其他套件。
  10. 顯示安裝的進度,需要一段時間。
  11. 安裝完成。