2014年5月19日

找網頁的rss feed

http://ctrlq.org/rss/

[JAVA][log4j] 詳細設定

一、Log4j簡介
Log4j有三個主要的元件:Loggers、Appenders、Layouts。

1、Loggers(寫Log )
被分為五個級別:DEBUG < INFO < WARN < ERROR < FATAL
只輸出級別不低於設定級別的訊息
ex:Loggers為INFO,則INFO、WARN、ERROR和FATAL都會輸出 DEBUG則不會

logger名稱階層關係
ex:名稱為"com.foo"的 logger 是名稱為"com.foo.Bar"的 logger的parent
程式中具名取得logger的方法是
Logger.getLogger(String name)  //名稱相同取得的logger一定一樣,不同則產生新的
通常我們用  Logger.getLogger(myApp.class) 取得loggger,名稱為程式的class  name,因此層級關係跟package層級關係吻合...

有一個最上層的root logger,root logger 一定存在的,且只能以 Logger.getRootLogger()方式取得它的參考.不能以具名方式取得.

2、Appenders(log訊息的終點(目的地))

常使用的類如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定size的時候產生一個新的文件)
org.apache.log4j.WriterAppender(將日誌訊息以輸出流格式發送到任意指定的地方)

如 System.out.println("Some message..."), 對Log4j 而言appenders 就是 console


配置模式:
log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1

log4j.appender.appenderName.OptionN = valueN

3、Layouts( Log訊息的格式 )

常使用的類如下:

org.apache.log4j.HTMLLayout(以HTML表格形式佈局)
org.apache.log4j.PatternLayout(可以靈活地指定佈局模式)
org.apache.log4j.SimpleLayout(包含日誌訊息的級別和訊息字符串)
org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等訊息)

配置模式:

log4j.appender.appenderName.layout =className
log4j.appender.appenderName.layout.Option1 = value1

log4j.appender.appenderName.layout.OptionN = valueN


二、簡單範例

log4j.rootLogger=Info, A1, A2


# A1 is set to be a ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n

# A2 is set to be a file
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss}][%p][%C-%L] %m%n
log4j.appender.A2.File=./log/gpserver-${log4j.date}.log


2014年5月16日

[JAVA][log4j] 獨立輸出到不同地方

在做log處理的java中:

org.apache.commons.logging.Log mylog= LogFactory.getLog("myTest1");


 mylog.info("我在記log......");



在log4j.properties加入
log4j.logger.myTest1= INFO, A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=./log/myTest1.log
log4j.appender.A1.DatePattern ='_'yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%d{yyyy/MM/dd HH:mm:ss:SSS}][%p][%C-%L] %m%n


這樣就只會有是myTest1的log才會寫進file裡 (不會其他有的沒的log訊息也記進來)


但如果不想要輸出去log4j.rootLogger所配置的地方的話 要增加
log4j.additivity.myTest1 = false


其他設定: http://blog.sina.com.cn/s/blog_56fd58ab0100tcna.html

2014年5月11日

[Firefox] 調整29 網址列分頁列書籤列上下位置的套件

firefox這次的更新 竟把頁籤上到那麼上面 然後還不給調==

我不懂這改變有什麼用意啊 吼

還好爬文發現了這個套件  qq
https://addons.mozilla.org/zh-TW/firefox/addon/classicthemerestorer/

2014年5月8日

< s:radio 能換行的小撇步

前提後面沒有要接  textfield之類之類的東西

<s:radio name="member.sex"  list="# {'M':'男<br/>', 'F':'女'}" ></s:radio>