目前分類:Java知識 (5)

瀏覽方式: 標題列表 簡短摘要

一、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

EdisonDai 發表在 痞客邦 留言(0) 人氣()

「受檢例外」(Checked Exception): 就是應被檢查的例外不論是編譯器或設計者,並且做好異常例外處理

在某些情況下例外的發生是可預期的,例如使用輸入輸出功能時,可能會由於硬體環境問題,而使得程式無法正常從硬體取得輸入或進行輸出,這種錯誤是可預期發生的。

當拋出CheckedException此類例外時應處理(try-catch)或作出轉拋(throws)。

 

「非受檢例外」(Unckecked exception): 代表執行時期產生的重大錯誤,並且不應該使用例外處理修復或者避開

EdisonDai 發表在 痞客邦 留言(0) 人氣()

1.
interface的方法全都是抽象方法
abstract則有一般方法和抽象方法
抽象方法指的是沒有「實作」出來的方法


EdisonDai 發表在 痞客邦 留言(0) 人氣()

Java 資料型態 Hibernate 資料型態 標準SQL資料型態
byte、java.lang.Byte byte TINYINT
short、java.lang.Short short SMALLINT
int、java.lang.Integer integer INGEGER
long、java.lang.Long long BIGINT
float、java.lang.Float float FLOAT
double、java.lang.Double double DOUBLE
java.math.BigDecimal big_decimal NUMERIC
char、java.lang.Character character CHAR(1)
boolean、java.lang.Boolean boolean BIT
java.lang.String string VARCHAR
boolean、java.lang.Boolean yes_no CHAR(1)('Y'或'N')
boolean、java.lang.Boolean true_false CHAR(1)('Y'或'N')
java.util.Date、java.sql.Date date DATE
java.util.Date、java.sql.Time time TIME
java.util.Date、java.sql.Timestamp timestamp TIMESTAMP
java.util.Calendar calendar TIMESTAMP
java.util.Calendar calendar_date DATE
byte[] binary VARBINARY、BLOB
java.lang.String text CLOB
java.io.Serializable serializable VARBINARY、BLOB
java.sql.Clob clob CLOB
java.sql.Blob blob BLOB
java.lang.Class class VARCHAR
java.util.Locale locale VARCHAR
java.util.TimeZone timezone VARCHAR
java.util.Currency currency VARCHAR

 


EdisonDai 發表在 痞客邦 留言(0) 人氣()

Method 1. int intValue = Integer.valueOf("文字");

Method 2. int intValue = Integer.parseInt("文字");


EdisonDai 發表在 痞客邦 留言(0) 人氣()