freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

log4j2中文手冊(cè)(編輯修改稿)

2025-07-26 08:37 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 pening connection to {}..., someDataSource)。4. (, Logging in user %1$s with birthday %2$tm %2$te,%2$tY, (), ())。(5) Java 8 lambda support for lazy logging,Logger 支持了lambda 表達(dá)式,在請(qǐng)求日志級(jí)別啟動(dòng)的時(shí)候,可以懶加載的打印這些信息而不用去顯式檢查日志是否要打印。例如, 在以前版本中可能這樣寫 :1. // preJava 8 style optimization: explicitly check the log level2. // to make sure the expensiveOperation() method is only called if necessary3. if (()) {4. (Some longrunning operation returned {}, expensiveOperation())。5. }在java8 中可以使用 lambda 表達(dá)式實(shí)現(xiàn)相同的效果,你可以不用顯式的檢查日志級(jí)別了:1. // Java8 style optimization: no need to explicitly check the log level:2. // the lambda expression is not evaluated if the TRACE level is not enabled3. (Some longrunning operation returned {}, () expensiveOperation())。(6) Logger Names大部分日志實(shí)現(xiàn)使用為了使得 日志名稱與日志配置匹配 使用一個(gè)分層的名稱方案。在這個(gè)方案中Logger 的名稱是由 . 分隔的, 非常類似于 java 包名的層次。 例如 : 是 與 的父層。大多數(shù)情況下,應(yīng)用命名他們的日志名稱 是通過(guò)在 中傳入當(dāng)前類名實(shí)現(xiàn)的。因?yàn)檫@個(gè)用法太常見(jiàn),Log4j2在入?yún)榭栈蛘邆魅霝镹ull 的時(shí)候默認(rèn)是提供當(dāng)前類的名稱。 例如, 下面的例子的 Logger 的名稱都是 1. package 。2. 3. public class MyTest {4. private static final Logger logger =()。5. }1. package 。2. 3. public class MyTest {4. private static final Logger logger =(())。5. }1. package 。2. 3. public class MyTest {4. private static final Logger logger = ()。5. }1. Flow TracingLogger 類提供了針對(duì)跟蹤應(yīng)用執(zhí)行路徑的很有用的方法 。這些方法可以從debug 日志中產(chǎn)生可以單獨(dú) 過(guò)濾的logging events。以下情況鼓勵(lì)使用這些方法:(1) 在不需要DEBUG的開(kāi)發(fā)中幫助診斷問(wèn)題(2) 在不需要DEBUG 的生產(chǎn)中幫助診斷問(wèn)題。(3) 幫助新的開(kāi)發(fā)人員在應(yīng)用中學(xué)習(xí)使用。最常用的2個(gè)方法是 entry() 與 exit() 。 entry() 一般置于方法的開(kāi)頭,entry() 可以傳入04 個(gè)參數(shù),通常是傳入方法變量, entry() 方法的日志級(jí)別是 TRACE ,并且使用了一個(gè)名為 ENTER 的 Marker。 這也是一個(gè)FLOW Markerexit() 放置在方法的結(jié)束或者方法的返回前,exit() 可以傳入 1個(gè)參數(shù)或者不傳入?yún)?shù), 通常 void 方法不傳入?yún)?shù), 而返回一個(gè)Object的方法使用 exit(Object obj) 。 exit()方法使用 TRACE的日志級(jí)別,并且使用了一個(gè)名為 EXIT 的Marker 。throwing() 方法 一般在應(yīng)用拋出一個(gè)不太可能處理的異常時(shí)使用。類似 RuntimeException 。 這個(gè)方法使用了 ERROR 的日志級(jí)別。catching() 方法使用在捕獲一個(gè)異常,但是不會(huì)拋出的時(shí)候, 這個(gè)方法使用了 ERROR的日志級(jí)別。,下面的例子展示了這些方法的典型使用:1. package 。2. 3. import 。4. import 。5. 6. import 。7. 8. public class TestService {9. private Logger logger = (())。10. 11. private String[] messages = new String[] {12. Hello, World,13. Goodbye Cruel World,14. You had me at hello15. }。16. private Random rand = new Random(1)。17. 18. public String retrieveMessage() {19. ()。20. 21. String testMsg = getMessage(getKey())。22. 23. return (testMsg)。24. }25. 26. public void exampleException() {27. ()。28. try {29. String msg = messages[]。30. (An exception should have been thrown)。31. } catch (Exception ex) {32. (ex)。33. }34. ()。35. }36. 37. public String getMessage(int key) {38. (key)。39. 40. String value = messages[key]。41. 42. return (value)。43. }44. 45. private int getKey() {46. ()。47. int key = ()。48. return (key)。49. }50. }測(cè)試程序的調(diào)用 :1. package 。2. 3. public class App {4. 5. public static void main( String[] args ) {6. TestService service = new TestService()。7. ()。8. ()。9. ()。10. }11. }日志配置文件 :1. ?xml version= encoding=UTF8?2. Configuration status=error3. Appenders4. Console name=Console target=SYSTEM_OUT5. ThresholdFilter level=ERROR onMatch=ACCEPT onMismatch=DENY/6. ! Flow tracing is most useful with a pattern that shows location.7. Below pattern outputs class, line number and method name. 8. PatternLayout pattern=%d{HH:mm:} %5level %class{36} %L %M %msg%xEx%n/9. /Console10. File name=log fileName=target/ append=false11. PatternLayout pattern=%d{HH:mm:} %5level %class{36} %L %M %msg%xEx%n/12. /File13. /Appenders14. Loggers15. Root level=trace16. AppenderRef ref=log/17. /Root18. /Loggers19. /Configuration2. Markers日志記錄框架的主要目的之一是在需要的時(shí)候提供一種方法來(lái)生成調(diào)試和診斷信息。并且可以對(duì)這些信息進(jìn)行過(guò)濾,以使不會(huì)壓垮系統(tǒng)或者需要使用它的人,例如:應(yīng)用需要打印 入口,出口,和分別執(zhí)行的SQL語(yǔ)句,并且希望能夠分開(kāi) 查詢和 更新語(yǔ)句 :1. import 。2. import 。3. import 。4. 5. public class MyApp {6. 7. private Logger logger = (())。8. private static final Marker SQL_MARKER = (SQL)。9. private static final Marker UPDATE_MARKER = (SQL_UPDATE).set(SQL_MARKER)。10. private static final Marker QUERY_MARKER = (SQL_QUERY).set(SQL_MARKER)。11. 12. public String doQuery(String table) {13. (param)。14. 15. (QUERY_MARKER, SELECT * FROM {}, table)。16. 17. return ()。18. }19. 20. public String doUpdate(String table, MapString, String params) {21. (param)。22. 23. if (()) {24. (UPDATE_MARKER, UPDATE {} SET {}, table, formatCols())。25. 26. return ()。27. }28. 29. private String formatCols(MapString, String cols) {30. StringBuilder sb = new StringBuilder()。31. boolean first = true。32. for (String, String entry : ()) {33. if (!first) {34. (, )。35. }36. (()).append(=).append(())。37. first = false。38. }39. return ()。40. }41. }在上面的例子中,可以通過(guò)添加 MarkerFilters 來(lái)打印query 的日志, update的日志, 或者所有的日志 。在使用Markers有一些重要規(guī)則(1) Markers 必須是唯一的。他們是不可變的注冊(cè)名稱,要確保你的應(yīng)用中的Markers都是不同的。(2) 父 Markers 可以被動(dòng)態(tài)的添加或者移除,但是這個(gè)操作是很昂貴的,建議在第一次獲得Markers時(shí)就確定父 Markers。(3) 恰當(dāng)?shù)脑O(shè)置父類 Markers。3. EventLoggerEventLogger 類提供了一個(gè)在應(yīng)用中產(chǎn)生 logging events 的簡(jiǎn)單機(jī)制。 EventLogger 是初始化 日志審計(jì)系統(tǒng)中事件的一個(gè)很有用的方式。 一個(gè)推薦的使用方法是在 WEB application 環(huán)境中, 可以使用request 中的內(nèi)容填充 ThreadContext Map, 例如 用戶ID,用戶的IP地址, 產(chǎn)品名稱等。這可以在一個(gè) servlet filter 中很簡(jiǎn)單的實(shí)現(xiàn), 并且在request 的結(jié)尾,ThreadContext Map 將被清除。1. import 。2. import 。3. 4. import 。5. import 。6. import 。7. import 。8. import 。9. import 。10. import 。11. import 。12. import 。13. import 。14. import 。15. import 。16. 17. public class RequestFilter implements Filter {18. private FilterConfig filterConfig。19. private static String TZ_NAME = timezoneOffset。20. 21. public void init(FilterConfig filterConfig) throws ServletException {22. = filterConfig。23. }24. 25. /**26. * Sample filter that populates the MDC on every request.27. */28. public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, Filter
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1