java util logging_java.util.logging 日志功能

1.在程序里面写死需要哪些log级别,使用哪些subscribe

import java.util.logging.*;

public class LoggingProgramSetPubSubpro

{

public static void main(String[] args)

{

Logger logger = Logger.getLogger("loggingTest");

logger.setLevel(Level.INFO);//这个设定最重要

ConsoleHandler consoleHandler = new ConsoleHandler();

consoleHandler.setLevel(Level.OFF);//这个好像不起作用

logger.addHandler(consoleHandler);

logger.severe("嚴重訊息");

logger.warning("警示訊息");

logger.info("一般訊息");

logger.config("設定方面的訊息");

logger.fine("細微的訊息");

logger.finer("更細微的訊息");

logger.finest("最細微的訊息");

}

}

2.如何在配置文件里面改,好处是不用重新编译原文件

import java.util.logging.*;

/**

说明:我们可以在C:\Documents and Settings\yay目录下面找到java0.log文件

它是一个xml格式的,

我们可以在${jdk}\jar\lib下面找到logging.properties文件,你可以在这里面修改

*/

public class LoggingPropertiesFile

{

public static void main(String[] args)

{

Logger logger = Logger.getLogger("loggingTest");

logger.severe("严重的信息");

logger.warning("警告信息");

logger.info("一般信息");

logger.config("设定方面的信息");

logger.fine("细微的信息");

logger.finer("更细微的信息");

logger.finest("最细微的信息");

}

}

3.使用log方法,使用自定义的Formatter

import java.util.logging.*;

/**

輸出格式是由java.util.logging.Formatter决定的

注意这里说得这个Formatter是属于哪里包里面的,不要搞混了

*/

public class LoggingLogMethod

{

public static void main(String[] args)

{

Logger logger = Logger.getLogger("loggingTest");

logger.setLevel(Level.ALL);

ConsoleHandler consoleHandler = new ConsoleHandler();

consoleHandler.setLevel(Level.ALL);

logger.addHandler(consoleHandler);

try

{

//%h代表用户主目录

//%g代表自动编号

FileHandler  fileHandler=new FileHandler("%h/loggingHome%g.log");

fileHandler.setLevel(Level.ALL);

fileHandler.setFormatter(new YAYFormatter());

logger.addHandler(fileHandler);

}

catch (Exception e)

{

e.printStackTrace();

}

logger.log(Level.SEVERE, "嚴重訊息");

logger.log(Level.WARNING, "警示訊息");

logger.log(Level.CONFIG, "一般訊息");

logger.log(Level.CONFIG, "設定方面的訊息");

logger.log(Level.FINE, "細微的訊息");

logger.log(Level.FINER, "更細微的訊息");

logger.log(Level.FINEST, "最細微的訊息");

}

}

4.如何自定义java.util.logging.Formatter

import java.util.logging.*;

public class YAYFormatter extends Formatter

{

public String format(LogRecord logRecord)

{

return  "LogRecord info: " + logRecord.getSourceClassName() +//就是哪个类里面用的了你

"\n" +"Level\t|\tLoggerName\t|\tMessage\t|\n" +

logRecord.getLevel() + //是SEVERE还是WARNING还是别的

"\t|\t" +

logRecord.getLoggerName() +//这个logger发布者

"\t|\t" +

logRecord.getMessage() + //消息内容

"\t|\n\n";

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值