編寫java程式推薦一個好的定義log的方式——lombok
阿新 • • 發佈:2019-01-26
一般情況下我們使用log4j或者slf4j定義一個log會這樣寫:private static final Logger log = Logger.getLogger(getClass());
今天在開源社群看到一種寫法更為簡潔
在class上引入註解@Slf4j即可直接使用.
如:
@Slf4j
public class SectionVO {
public SectionVO() {
log.info("I'm sectionVO : {}", toString());
}
}
反編譯SectionVO.class發現自動生成了
private static final Logger log = LoggerFactory.getLogger(SectionVO.class);
這個就很方便了.
那其實@Slf4j這個註解來自於lombok這個包,
仔細研究發現這個包還提供另外一些非常實用,可以大大簡化程式碼的註解
比如 :
@Data :註解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:註解在屬性上;為屬性提供 setting 方法
@Getter:註解在屬性上;為屬性提供 getting 方法
@Log4j :註解在類上;為類提供一個 屬性名為log 的 log4j 日誌物件
@NoArgsConstructor:註解在類上;為類提供一個無參的構造方法
@AllArgsConstructor:註解在類上;為類提供一個全參的構造方法
……
注:如果使用Idea,低版本可能不支援lombok,需要安裝lombok外掛,直接在Plugins裡面搜尋lombok安裝就好