黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Java6學習筆記39——日志操作

系統 2191 0

1.簡介:

ava.util.logging,它可以對程序中的日志記錄進行相當復雜的控制。例如:通過它可以指定日志的級別和日志的位置(控制臺、文件、套接字、 內存緩沖區),也可以創建子記錄器,通過它可以用程序控制的方式來指定想記錄的內容,也可以使用配置文件來指定,而不需要去改動程序。

2.體系:

Java6學習筆記39——日志操作

3.實例:

import java.util.logging.Logger;
import java.util.logging.Level;
import java.util.logging.Handler;
import java.util.logging.FileHandler;
import java.io.IOException;

public class LogDemo3 {
static Logger logger = Logger.getLogger("");
public static void main(String arg[]) {
try {
FileHandler fh = new FileHandler("logfile");
logger.addHandler(fh);
} catch(IOException e) {
System.err.println("Cannot open log file for output");
}

Handler handler[] = logger.getHandlers();
for(int i=0; i<handler.length; i++)
handler[i].setLevel(Level.FINEST);

logger.setLevel(Level.FINEST);

LogDemo3 ld = new LogDemo3();
ld.demonstrate();
}
LogDemo3() {
logger.info("LogDemo3 instantiated.");
}
public void demonstrate() {
logger.fine("Entering the demonstrate method.");
for(int i=0; i<10; i++) {
logger.finest("Loop counter: " + i);
}
logger.fine("Exiting the demonstrate method.");
}
}

4.技巧(轉載)

java . util . logging 包提供了強大的日志輸出功能,正確和有效的使用這些功能需要一些技巧:

  1. 了解不同的 Level , Level .FINE , LEVEL .FINER , LEVEL .FINEST 用來調試和跟蹤程序,比如打印一些調試信息,異常等。 Level .INFO 將打印信息到控制臺。
  2. 使用 Logger.isLoggable( Level ) 方法檢測當前的 Level ,以此來判斷是否輸出日志,日志也應該遵循需要時才輸出的原則,避免生成大量的調試信息字符串,占用系統內存,影響性能。
  3. 必要時程序化的打開和關閉日志,例如在開發程序時開啟大部分日志,為了查錯和調試程序,在程序發布時關閉大部分日志,避免影響客戶和影響程序性能。
  4. 必要時可以針對一個模塊使用唯一的 Logger ,也就是創建 Logger 時傳入子模塊的名字,所有類使用同一個 Logger ,避免生成太多的 Logger 實例。
  5. 下邊是使用日志工具的一段代碼:
package javatest;

import java .io.IOException;
import java . util . logging .ConsoleHandler;
import java . util . logging .FileHandler;
import java . util . logging . Level ;
import java . util . logging .Logger;
import java . util . logging .SimpleFormatter;

/**
*/
public class LoggerTest{
// 構建Logger
private static Loggerlog = Logger.getLogger(LoggerTest. class .getName());

/** CreatesanewinstanceofLoggerTest */
public LoggerTest(){
// 使用此方法避免生成需要輸出的字符串
if (log.isLoggable( Level .FINE)){
log.log( Level .FINE,
" startconstructing... " );
}
}
/**
*設置指定包的日志輸出級別.
*
*
@param packageName指定的包
*
@param fileName指定日志的輸出文件
*
@param level 日志輸出級別
*/
private static void setLogLevel(StringpackageName,StringfileName, Level level ){
try {
FileHandlerfileHandler
= new FileHandler( " %h/ " + fileName + " %u.log " );
fileHandler.setFormatter(
new SimpleFormatter());
ConsoleHandlerconsoleHandler
= new ConsoleHandler();
consoleHandler.setLevel( level );
Logger.getLogger(packageName).addHandler(fileHandler);
Logger.getLogger(packageName).addHandler(consoleHandler);
Logger.getLogger(packageName).setLevel( level );
}
catch (SecurityExceptionex){
ex.printStackTrace();
}
catch (IOExceptionex){
ex.printStackTrace();
}
}
public static void main(String[]args){
// 啟用當前包的全部日志輸出
StringpackageName = " javatest " ;
setLogLevel(packageName,packageName, Level .ALL);
LoggerTesttest
= new LoggerTest();
}
}

Java6學習筆記39——日志操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論