##SLF4J程序員
項目裏面打印log, * 用System.out.println,屬於2B程序員。 * 用Log4j,logger.info(...), logger.errr(...),屬於普通程序員 * 用SLF4J , 說明你已經注意細節,向文藝程序猿發展了。
爲何這麼說呢, 「a」 + "b" + "c" ...這樣的字符串拼接,會在常量池生成大量字符,效率低下。 咱們都知道避免這樣的操做,須要使用StringBuffer,StringBuilder。 開發中咱們的log打印都會碰到logger.info("current time is " + currentTime); 這樣的狀況。難倒都要改爲StringBuffer,StringBuilder嗎? NO,SLf4J就能夠解決這個問題。
在maven項目中添加如下依賴 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
###如何使用api
Logger logger = LoggerFactory.getLogger(xxx.class); logger.info("current time is {} " , currentTime); SLF4J會用currentTime變量替代 前面的{},你能夠添加多個,順序對應就能夠了