一段時間沒記Blog了,顯示筆者狀態由【研發】轉為【專案】。研發時用Survey最新技術看是否有助提升開發品質,專案時則需選擇最穩定技術,取得進度與風險之間的最佳平衡。三年前接手他人銀行專案前,我為該專案研發最適用的Framework,即使專案成員在程式能力不強,依然需當作客戶看待。之後我接手成為該專案Leader,卻屢屢與其中一位成員衝突,該成員說詞是為何以前可以現在不行,而我回答就是因為可以,前Leader才會被換掉。最後身為Leader,我把他換下來了。角色的轉換,不單關注焦點思維不同,連決策及身負的責任也殊異。
以上與本主題無關,目前要著手的專案,對Log有個By Size與By Time的需求。目前最新的Log4J核心Jar並無此功能,週邊我倒是找到兩個,一個是今年5/18釋出的TimeAndSizeRollingAppender,自http://simonsiteblog.blogspot.com/取得,並無Maven Repository。所以得比照Oracle的JDBC Jar方式放置到Local Repository。以下是用log4j.xml配置:
<appender name="DateAndSize" class="org.apache.log4j.appender.TimeAndSizeRollingAppender"> |
得到Log檔清單如右:sample.log、sample.log.2010-05-27.log.1.gz、sample.log.2010-05-27.log.2.gz、sample.log.2010-05-27.log.3.gz…。
另一個就不好用,叫CompositeRollingAppender,會產出sample.log、sample.log.1、sample.log.2…,但換到第二天時,只有sample.log會變成sample.log.2010-05-26.log,而有Index的log並不會跟著變更檔名,還會被今天的Log蓋過去。