青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

logback 配置詳解(一) and

一:根節點<configuration>包含的屬性:

 

scan:

當此屬性設置為true時,配置文件如果發生改變,將會被重新加載,默認值為true。

scanPeriod:

設置監測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。

debug:

當此屬性設置為true時,將打印出logback內部日志信息,實時查看logback運行狀態。默認值為false。

例如:

 

Xml代碼  收藏代碼
  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">  
  2.       <!-- 其他配置省略-->  
  3. </configuration>  

 

二:根節點<configuration>的子節點:

 

2.1設置上下文名稱:<contextName>

每個logger都關聯到logger上下文,默認上下文名稱為“default”。但可以使用<contextName>設置成其他名字,用于區分不同應用程序的記錄。一旦設置,不能修改。

 

Xml代碼  收藏代碼
  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">  
  2.       <contextName>myAppName</contextName>  
  3.       <!-- 其他配置省略-->  
  4. </configuration>  

 

2.2設置變量: <property>

用來定義變量值的標簽,<property> 有兩個屬性,name和value;其中name的值是變量的名稱,value的值時變量定義的值。通過<property>定義的值會被插 入到logger上下文中。定義變量后,可以使“${}”來使用變量。

例如使用<property>定義上下文名稱,然后在<contentName>設置logger上下文時使用。

Xml代碼  收藏代碼
  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">  
  2.       <property name="APP_Name" value="myAppName" />   
  3.       <contextName>${APP_Name}</contextName>  
  4.       <!-- 其他配置省略-->  
  5. </configuration>   

 

 

2.3獲取時間戳字符串:<timestamp>

兩個屬性 key:標識此<timestamp> 的名字;datePattern:設置將當前時間(解析配置文件的時間)轉換為字符串的模式,遵循java.txt.SimpleDateFormat的格式。

        例如將解析配置文件的時間作為上下文名稱:

Xml代碼  收藏代碼
  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">  
  2.       <timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>   
  3.       <contextName>${bySecond}</contextName>  
  4.       <!-- 其他配置省略-->  
  5. </configuration>   

 

2.4設置loger:

<loger>

用來設置某一個包或者具體的某一個類的日志打印級別、以及指定<appender>。<loger>僅有一個name屬性,一個可選的level和一個可選的addtivity屬性。

name:

用來指定受此loger約束的某一個包或者具體的某一個類。

level:

用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,還有一個特俗值INHERITED或者同義詞NULL,代表強制執行上級的級別。

如果未設置此屬性,那么當前loger將會繼承上級的級別。

addtivity:

是否向上級loger傳遞打印信息。默認是true。

<loger>可以包含零個或多個<appender-ref>元素,標識這個appender將會添加到這個loger。

 

<root>

也是<loger>元素,但是它是根loger。只有一個level屬性,應為已經被命名為"root".

level:

用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能設置為INHERITED或者同義詞NULL。

默認是DEBUG。

<root>可以包含零個或多個<appender-ref>元素,標識這個appender將會添加到這個loger。

 

例如:

LogbackDemo.java類

Java代碼  收藏代碼
  1. package logback;  
  2.   
  3. import org.slf4j.Logger;  
  4. import org.slf4j.LoggerFactory;  
  5.   
  6. public class LogbackDemo {  
  7.     private static Logger log = LoggerFactory.getLogger(LogbackDemo.class);  
  8.     public static void main(String[] args) {  
  9.         log.trace("======trace");  
  10.         log.debug("======debug");  
  11.         log.info("======info");  
  12.         log.warn("======warn");  
  13.         log.error("======error");  
  14.     }  
  15. }  

 

logback.xml配置文件

 

第1種:只配置root

Xml代碼  收藏代碼
  1. <configuration>   
  2.    
  3.   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
  4.     <!-- encoder 默認配置為PatternLayoutEncoder -->   
  5.     <encoder>   
  6.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>   
  7.     </encoder>   
  8.   </appender>   
  9.    
  10.   <root level="INFO">             
  11.     <appender-ref ref="STDOUT" />   
  12.   </root>     
  13.      
  14.  </configuration>  

 其中appender的配置表示打印到控制臺(稍后詳細講解appender );

<root level="INFO">將root的打印級別設置為“INFO”,指定了名字為“STDOUT”的appender。

 

當執行logback.LogbackDemo類的main方法時,root將級別為“INFO”及大于“INFO”的日志信息交給已經配置好的名為“STDOUT”的appender處理,“STDOUT”appender將信息打印到控制臺;

打印結果如下:

Xml代碼  收藏代碼
  1. 13:30:38.484 [main] INFO  logback.LogbackDemo - ======info  
  2. 13:30:38.500 [main] WARN  logback.LogbackDemo - ======warn  
  3. 13:30:38.500 [main] ERROR logback.LogbackDemo - ======error  

 

  第2種:帶有loger的配置,不指定級別,不指定appender,

Xml代碼  收藏代碼
  1. <configuration>   
  2.    
  3.   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
  4.     <!-- encoder 默認配置為PatternLayoutEncoder -->   
  5.     <encoder>   
  6.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>   
  7.     </encoder>   
  8.   </appender>   
  9.    
  10.   <!-- logback為java中的包 -->   
  11.   <logger name="logback"/>   
  12.    
  13.   <root level="DEBUG">             
  14.     <appender-ref ref="STDOUT" />   
  15.   </root>     
  16.      
  17.  </configuration>  

 其中appender的配置表示打印到控制臺(稍后詳細講解appender );

<logger name="logback" />將控制logback包下的所有類的日志的打印,但是并沒用設置打印級別,所以繼承他的上級<root>的日志級別“DEBUG”;

沒有設置addtivity,默認為true,將此loger的打印信息向上級傳遞;

沒有設置appender,此loger本身不打印任何信息。

<root level="DEBUG">將root的打印級別設置為“DEBUG”,指定了名字為“STDOUT”的appender。

 

當執行logback.LogbackDemo類的main方法時,因為 LogbackDemo 在包logback中,所以首先執行<logger name="logback" />,將級別為“DEBUG”及大于“DEBUG”的日志信息傳遞給root,本身并不打??;

root接到下級傳遞的信息,交給已經配置好的名為“STDOUT”的appender處理,“STDOUT”appender將信息打印到控制臺;

打印結果如下:

Xml代碼  收藏代碼
  1. 13:19:15.406 [main] DEBUG logback.LogbackDemo - ======debug  
  2. 13:19:15.406 [main] INFO  logback.LogbackDemo - ======info  
  3. 13:19:15.406 [main] WARN  logback.LogbackDemo - ======warn  
  4. 13:19:15.406 [main] ERROR logback.LogbackDemo - ======error  

 

 第3種:帶有多個loger的配置,指定級別,指定appender  

Xml代碼  收藏代碼
  1. <configuration>   
  2.    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
  3.     <!-- encoder 默認配置為PatternLayoutEncoder -->   
  4.     <encoder>   
  5.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>   
  6.     </encoder>   
  7.   </appender>   
  8.    
  9.   <!-- logback為java中的包 -->   
  10.   <logger name="logback"/>   
  11.   <!--logback.LogbackDemo:類的全路徑 -->   
  12.   <logger name="logback.LogbackDemo" level="INFO" additivity="false">  
  13.     <appender-ref ref="STDOUT"/>  
  14.   </logger>   
  15.     
  16.   <root level="ERROR">             
  17.     <appender-ref ref="STDOUT" />   
  18.   </root>     
  19. </configuration>  

其中appender的配置表示打印到控制臺(稍后詳細講解appender );

 

<logger name="logback" />將控制logback包下的所有類的日志的打印,但是并沒用設置打印級別,所以繼承他的上級<root>的日志級別“DEBUG”;

沒有設置addtivity,默認為true,將此loger的打印信息向上級傳遞;

沒有設置appender,此loger本身不打印任何信息。

 

 <logger name="logback.LogbackDemo" level="INFO" additivity="false">控制logback.LogbackDemo類的日志打印,打印級別為“INFO”;

additivity屬性為false,表示此loger的打印信息不再向上級傳遞,

指定了名字為“STDOUT”的appender。

 

<root level="ERROR">將root的打印級別設置為“ERROR”,指定了名字為“STDOUT”的appender。

 

 當執行logback.LogbackDemo類的main方法時,先執 行<logger name="logback.LogbackDemo" level="INFO" additivity="false">,將級別為“INFO”及大于“INFO”的日志信息交給此loger指定的名為“STDOUT”的 appender處理,在控制臺中打出日志,不再向次loger的上級 <logger name="logback"/> 傳遞打印信息;

<logger name="logback"/>未接到任何打印信息,當然也不會給它的上級root傳遞任何打印信息;

打印結果如下:  

Xml代碼  收藏代碼
  1. 14:05:35.937 [main] INFO  logback.LogbackDemo - ======info  
  2. 14:05:35.937 [main] WARN  logback.LogbackDemo - ======warn  
  3. 14:05:35.937 [main] ERROR logback.LogbackDemo - ======error  

 如果將<logger name="logback.LogbackDemo" level="INFO" additivity="false">修改為 <logger name="logback.LogbackDemo" level="INFO" additivity="true">那打印結果將是什么呢?

沒錯,日志打印了兩次,想必大家都知道原因了,因為打印信息向上級傳遞,logger本身打印一次,root接到后又打印一次

打印結果如下:  

Xml代碼  收藏代碼
  1. 14:09:01.531 [main] INFO  logback.LogbackDemo - ======info  
  2. 14:09:01.531 [main] INFO  logback.LogbackDemo - ======info  
  3. 14:09:01.531 [main] WARN  logback.LogbackDemo - ======warn  
  4. 14:09:01.531 [main] WARN  logback.LogbackDemo - ======warn  
  5. 14:09:01.531 [main] ERROR logback.LogbackDemo - ======error  
  6. 14:09:01.531 [main] ERROR logback.LogbackDemo - ======error

posted on 2012-08-16 03:53 大龍 閱讀(494) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合网络一区二区| 久久久999国产| 国产一区二区三区自拍| 欧美在线免费观看| 亚洲摸下面视频| 欧美亚洲三区| 欧美激情五月| 亚洲欧美中文另类| 国产日韩专区| 黑丝一区二区三区| 午夜精品av| 一区二区激情小说| 欧美日韩高清一区| 免费成人黄色片| 性8sex亚洲区入口| 久久久久久色| 欧美激情视频免费观看| 欧美日韩一区高清| 欧美资源在线| 午夜视频一区在线观看| 久久精品久久99精品久久| 一区二区三区不卡视频在线观看| 国产在线视频欧美| 欧美一级片在线播放| 亚洲视频网站在线观看| 国产精品国产精品| 午夜欧美大尺度福利影院在线看| 亚洲精品乱码久久久久久黑人| 亚洲综合色激情五月| 欧美日韩精品一区视频| 久久综合一区| 国产精品久久久久久久浪潮网站| 玉米视频成人免费看| 亚洲一区视频在线观看视频| 久久午夜精品一区二区| 亚洲美女毛片| 日韩一级在线| 久久婷婷色综合| 99国产精品| 久久综合影音| 国产综合色产在线精品| 亚洲五月婷婷| 亚洲国产成人精品女人久久久| 亚洲一区中文字幕在线观看| 欧美精品 日韩| 怡红院av一区二区三区| 性色一区二区三区| 日韩视频在线一区二区| 欧美成人精品h版在线观看| 欧美激情一区在线| 嫩模写真一区二区三区三州| 国产精品三上| 欧美日韩在线精品一区二区三区| 久久视频在线看| 国产视频久久网| 欧美激情麻豆| 中文网丁香综合网| 欧美一级淫片播放口| 久久午夜视频| 欧美在线免费观看亚洲| 国产麻豆午夜三级精品| 免费观看国产成人| 日韩亚洲欧美一区| 午夜精品福利一区二区三区av| 欧美午夜精品理论片a级按摩 | 亚洲第一精品电影| 亚洲精品国产日韩| 韩国女主播一区| 国产综合久久久久影院| 亚洲影视中文字幕| 在线一区欧美| 亚洲美女视频网| 亚洲精品在线观| 欧美日本免费| 欧美区视频在线观看| 亚洲欧美日韩精品在线| 亚洲日本国产| 久久久久久亚洲精品杨幂换脸| 国产精品高潮在线| 亚洲国产成人久久| 亚洲视频网站在线观看| 欧美成人dvd在线视频| 国产精品久久亚洲7777| 亚洲精品久久久久久下一站| 欧美在线视频全部完| 最新国产成人在线观看| 久久综合国产精品台湾中文娱乐网| 黄色日韩网站视频| 久久久久国产免费免费| 欧美一区二区三区另类| 香蕉久久夜色精品国产使用方法| 日韩视频一区二区三区在线播放免费观看| 洋洋av久久久久久久一区| 日韩小视频在线观看| 在线视频亚洲一区| 国产精品视频在线观看| 亚洲精品一区二区三区不| 99精品国产福利在线观看免费| 99re6热在线精品视频播放速度| 99精品视频免费观看视频| 亚洲综合视频1区| 一区二区三区视频观看| 欧美午夜影院| 久久精品国产精品亚洲精品| 欧美成在线观看| 一个色综合导航| 亚洲一区高清| 一本色道久久加勒比精品| 国产日韩av一区二区| 亚洲黄色成人网| 欧美日韩天天操| 国产综合一区二区| 麻豆成人在线观看| 久久一区激情| 欧美一区日韩一区| 久久夜色精品| 久久人人爽国产| 欧美日韩喷水| 亚洲日本激情| 国产精品永久| 亚洲午夜激情网页| 伊人久久男人天堂| 欧美成人一区二区三区在线观看 | 国语自产精品视频在线看| 亚洲人www| 国产婷婷色一区二区三区在线| 欧美黑人一区二区三区| 国产九区一区在线| 亚洲国产va精品久久久不卡综合| 亚洲精品视频在线| 国产网站欧美日韩免费精品在线观看 | 国产一区二区三区在线观看视频 | 欧美高清日韩| 国产三级欧美三级日产三级99| 欧美激情一区二区三区全黄| 国产精品欧美精品| 亚洲乱码国产乱码精品精可以看 | 国产亚洲永久域名| 99精品欧美一区| 999亚洲国产精| 欧美mv日韩mv国产网站| 亚洲与欧洲av电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲国产成人在线播放| 亚洲欧洲精品一区| 久久久99免费视频| 久久精品国产亚洲精品| 国产一区二区三区在线播放免费观看| 亚洲在线观看| 欧美一区二区私人影院日本| 国产精品久久久久久五月尺| 一本久久a久久免费精品不卡| 好吊妞**欧美| 久久精品视频在线播放| 久久久久国产精品一区| 一区福利视频| 欧美.www| 一本大道久久a久久精品综合| 亚洲九九精品| 欧美日韩精品久久久| 亚洲精品日产精品乱码不卡| 亚洲人成网站精品片在线观看| 亚洲午夜精品福利| 久久亚洲欧美国产精品乐播| 国产主播一区二区三区| 久久精品在线观看| 欧美成人午夜剧场免费观看| 亚洲欧洲精品一区二区| 国产精品入口麻豆原神| 亚洲欧美资源在线| 久久久久青草大香线综合精品| 国产在线视频欧美| 久久综合婷婷| 亚洲曰本av电影| 久久夜色精品国产欧美乱| 亚洲成人在线免费| 欧美黄色免费| 亚洲天堂男人| 欧美激情精品久久久久| 亚洲人体1000| 国产精品对白刺激久久久| 午夜久久资源| 亚洲高清在线| 久久国产精品亚洲77777| 国外成人免费视频| 欧美二区在线播放| 亚洲一区黄色| 欧美一区1区三区3区公司| 亚洲欧洲一区二区三区久久| 欧美日本网站| 亚洲国产清纯| 免费观看欧美在线视频的网站| 午夜视频精品| 欧美国产成人精品| 久久人人97超碰国产公开结果| 欧美成年人在线观看| 精品不卡一区二区三区| 日韩亚洲成人av在线| 欧美激情一区二区三级高清视频| 欧美亚洲一级片|