2014年5月19日
[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有三個主要的元件: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中:
在log4j.properties加入
這樣就只會有是myTest1的log才會寫進file裡 (不會其他有的沒的log訊息也記進來)
但如果不想要輸出去log4j.rootLogger所配置的地方的話 要增加
其他設定: http://blog.sina.com.cn/s/blog_56fd58ab0100tcna.html
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/
我不懂這改變有什麼用意啊 吼
還好爬文發現了這個套件 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>