<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    SLF4J 教程(自由在各種log中切換)

    一、介紹:
    簡單日記門面(simple logging Facade for java)SLF4J是為各種loging APIs提供一個(gè)簡單統(tǒng)一的
    接口,從而使得最終用戶能夠在部署的時(shí)候配置自己希望的loging APIs實(shí)現(xiàn)。 Logging API實(shí)現(xiàn)既可以
    選擇直接實(shí)現(xiàn)SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通過SLF4J提供的API實(shí)現(xiàn)
    來開發(fā)相應(yīng)的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。在SLF4J發(fā)行版本中包含了幾個(gè)
    jar包,如slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-log4j13.jar,
    slf4j-jdk14.jar and slf4j-jcl.jar通過這些jar文件可以使編譯期與具體的實(shí)現(xiàn)脫離。或者說可以
    靈活的切換
    二、官方站點(diǎn)
    官方的網(wǎng)站:http://www.slf4j.org/manual.html
    三、為何使用slf4j?
    我們在開發(fā)過程中可能使用各種log,每個(gè)Log有不同的風(fēng)格、布局,如果想靈活的切換那么slf4j是比較好的
    選擇。
    四、如何使用slf4j
    下邊一段程序是經(jīng)典的使用slf4j的方法.

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    public class Wombat {
        
    final Logger logger = LoggerFactory.getLogger(Wombat.class);
         Integer t;
         Integer oldT;
        
    public void setTemperature(Integer temperature) {
             oldT 
    = t;
             t 
    = temperature;
             logger.error(
    "Temperature set to {}. Old temperature was {}.", t, oldT);
            
    if (temperature.intValue() > 50{
                 logger.info(
    "Temperature has risen above 50 degrees.");
             }

         }

        
    public static void main(String[] args) {
             Wombat wombat 
    = new Wombat();
             wombat.setTemperature(
    1);
             wombat.setTemperature(
    55);
         }

    }


    下邊介紹一下運(yùn)行上邊程序的過程。
    1,編譯上邊的程序,需要classpath中加入slf4j-api-1.4.1.jar文件
    2,運(yùn)行時(shí),需要classpath中加上slf4j-simple-1.4.1.jar
    運(yùn)行得到結(jié)果:
    ----------------------------
    0 [main] ERROR Wombat - Temperature set to 1. Old temperature was null.
    0 [main] ERROR Wombat - Temperature set to 55. Old temperature was 1.
    0 [main] INFO Wombat - Temperature has risen above 50 degrees.
    這個(gè)是simple log風(fēng)格,

    3,切換:如果想切換到j(luò)dk14的log的風(fēng)格,只需要把slf4j-simple-1.4.1.jar
    從classpath中移除,同時(shí)classpath中加入slj4j-jdk14-1.4.1.jar
    這時(shí)的運(yùn)行結(jié)果:
    ---------------------------------------------------
    2007-7-9 10:40:15 Wombat setTemperature
    嚴(yán)重: Temperature set to 1. Old temperature was null.
    2007-7-9 10:40:16 Wombat setTemperature
    嚴(yán)重: Temperature set to 55. Old temperature was 1.
    2007-7-9 10:40:16 Wombat setTemperature
    信息: Temperature has risen above 50 degrees.
    已經(jīng)變成jdk14的log風(fēng)格了。
    4,再次切換到log4j
    同樣移除slj4j-jdk14-1.4.1.jar,加入slf4j-log4j12-1.4.1.jar,同時(shí)加入log4j-1.2.x.jar
    加入log4j.properties。得到顯示結(jié)果:
    ---------------------------------------
    10:42:27,328 ERROR Wombat: Temperature set to 1. Old temperature was null.
    10:42:27,328 ERROR Wombat: Temperature set to 55. Old temperature was 1.
    10:42:27,328   INFO Wombat: Temperature has risen above 50 degrees.
    在不同的風(fēng)格中切換只需要在部署期切換類庫就可以了,和開發(fā)時(shí)無關(guān)。



    posted on 2008-02-21 12:11 々上善若水々 閱讀(3033) 評論(0)  編輯  收藏 所屬分類: JavaWeb

    主站蜘蛛池模板: 久久午夜伦鲁片免费无码| 免费精品国产自产拍观看| 亚洲乱码无码永久不卡在线| 亚洲成av人片在线观看无码不卡| 亚洲国产理论片在线播放| 无人视频免费观看免费视频 | www.亚洲精品| 亚洲黄色在线观看| 91热久久免费精品99| 久久精品国产亚洲av日韩| 伊人久久免费视频| 亚洲欧洲日产国码在线观看| 亚洲天堂免费在线| 亚洲熟女乱色一区二区三区| 日本午夜免费福利视频| 亚洲欧洲精品在线| 一二三四视频在线观看中文版免费| 亚洲av永久无码精品三区在线4| 国产一区视频在线免费观看| 亚洲欧美日韩一区二区三区| 国产午夜精品免费一区二区三区 | 久久久久久久久亚洲| 一区二区三区福利视频免费观看| 久久精品亚洲中文字幕无码麻豆 | 免费精品国产自产拍在线观看 | 日本亚洲视频在线| 亚州免费一级毛片| 亚洲av无码片vr一区二区三区| 亚洲av再在线观看| 黄色网址免费在线| 亚洲成AV人片天堂网无码| 四虎永久在线精品免费观看视频| 亚洲欧美日韩中文无线码| 亚洲日韩中文在线精品第一| 午夜精品免费在线观看| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 亚洲一区在线观看视频| 亚洲男人的天堂在线va拉文| 老司机福利在线免费观看| 国产AV无码专区亚洲AV男同| 无人在线观看免费高清视频|