当前位置:  技术问答>java相关

关于jdk1.4 新推出的 java.util.logging 的问题

    来源: 互联网  发布时间:2015-03-28

    本文导语:  想知道除了java.sun.com还有那里有怎样使用java logging api的例子? 或者相关的资料都可以。 提供线索以及up都给分,希望大家多多捧场。 | 还有一个地方,但他是beta版的,我不知差别有多大...

想知道除了java.sun.com还有那里有怎样使用java logging api的例子?

或者相关的资料都可以。

提供线索以及up都给分,希望大家多多捧场。

|
还有一个地方,但他是beta版的,我不知差别有多大!
http://www.confluent.fr/javadoc/j2eee.html

|
还是用log4j吧,很好用

|
java.util.logging 
Class Logger
java.lang.Object
  |
  +--java.util.logging.Logger


--------------------------------------------------------------------------------

public class Logger
extends Object
A Logger object is used to log messages for a specific system or application component. Loggers are normally named, using a hierarchical dot-separated namespace. Logger names can be arbitrary strings, but they should normally be based on the package name or class name of the logged component, such as java.net or javax.swing. In additon it is possible to create "anonymous" Loggers that are not stored in the Logger namespace. 

Logger objects may be obtained by calls on one of the getLogger factory methods. These will either create a new Logger or return a suitable existing Logger. 

Logging messages will be forwarded to registered Handler objects, which can forward the messages to a variety of destinations, including consoles, files, OS logs, etc. 

Each Logger keeps track of a "parent" Logger, which is its nearest existing ancestor in the Logger namespace. 

Each Logger has a "Level" associated with it. This reflects a minimum Level that this logger cares about. If a Logger's level is set to null, then its effective level is inherited from its parent, which may in turn obtain it recursively from its parent, and so on up the tree. 

The log level can be configured based on the properties from the logging configuration file, as described in the description of the LogManager class. However it may also be dynamically changed by calls on the Logger.setLevel method. If a logger's level is changed the change may also affect child loggers, since any child logger that has null as its level will inherit its effective level from its parent. 

On each logging call the Logger initially performs a cheap check of the request level (e.g. SEVERE or FINE) against the effective log level of the logger. If the request level is lower than the log level, the logging call returns immediately. 

After passing this initial (cheap) test, the Logger will allocate a LogRecord to describe the logging message. It will then call a Filter (if present) to do a more detailed check on whether the record should be published. If that passes it will then publish the LogRecord to its output Handlers. By default, loggers also publish to their parent's Handlers, recursively up the tree. 

Each Logger may have a ResourceBundle name associated with it. The named bundle will be used for localizing logging messages. If a Logger does not have its own ResourceBundle name, then it will inherit the ResourceBundle name from its parent, recursively up the tree. 

Most of the logger output methods take a "msg" argument. This msg argument may be either a raw value or a localization key. During formatting, if the logger has (or inherits) a localization ResourceBundle and if the ResourceBundle has a mapping for the msg string, then the msg string is replaced by the localized value. Otherwise the original msg string is used. Typically, formatters use java.text.MessageFormat style formatting to format parameters, so for example a format string "{0} {1}" would format two parameters as strings. 

When mapping ResourceBundle names to ResourceBundles, the Logger will first try to use the Thread's ContextClassLoader. If that is null it will try the SystemClassLoader instead. As a temporary transition feature in the initial implementation, if the Logger is unable to locate a ResourceBundle from the ContextClassLoader or SystemClassLoader the Logger will also search up the class stack and use successive calling ClassLoaders to try to locate a ResourceBundle. (This call stack search is to allow containers to transition to using ContextClassLoaders and is likely to be removed in future versions.) 

Formatting (including localization) is the responsibility of the output Handler, which will typically call a Formatter. 

Note that formatting need not occur synchronously. It may be delayed until a LogRecord is actually written to an external sink. 

The logging methods are grouped in five main categories: 

There are a set of "log" methods that take a log level, a message string, and optionally some parameters to the message string. 

There are a set of "logp" methods (for "log precise") that are like the "log" methods, but also take an explicit source class name and method name. 

There are a set of "logrb" method (for "log with resource bundle") that are like the "logp" method, but also take an explicit resource bundle name for use in localizing the log message. 

There are convenience methods for tracing method entries (the "entering" methods), method returns (the "exiting" methods) and throwing exceptions (the "throwing" methods). 

Finally, there are a set of convenience methods for use in the very simplest cases, when a developer simply wants to log a simple string at a given log level. These methods are named after the standard Level names ("severe", "warning", "info", etc.) and take a single argument, a message string. 

For the methods that do not take an explicit source name and method name, the Logging framework will make a "best effort" to determine which class and method called into the logging method. However, it is important to realize that this automatically inferred information may only be approximate (or may even be quite wrong!). Virtual machines are allowed to do extensive optimizations when JITing and may entirely remove stack frames, making it impossible to reliably locate the calling class and method. 

All methods on Logger are multi-thread safe. 

Subclassing Information: Note that a LogManager class may provide its own implementation of named Loggers for any point in the namespace. Therefore, any subclasses of Logger (unless they are implemented in conjunction with a new LogManager class) should take care to obtain a Logger instance from the LogManager class and should delegate operations such as "isLoggable" and "log(LogRecord)" to that instance. Note that in order to intercept all logging output, subclasses need only override the log(LogRecord) method. All the other logging methods are implemented as calls on this log(LogRecord) method. 



Since:
1.4 

|
www.javasoft.com

|
t(天天)用GOOOAL就可以找到相应的东东

|
see Java Logging Overview:
http://java.sun.com/j2se/1.4/docs/guide/util/logging/overview.html

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JDK1.3 JDK1.4的问题
  • 再问JDK1.3设置问题!!!!
  • 关于奔4不支持jdk1.2的再问题!!!
  • 一个关于jdk1.3的问题,很奇怪,各位大虾帮忙!
  • 请教JDK1.4的中文问题和光标对齐问题
  • 关于jdk1.3.1的问题!
  • 请问在Jbuilder 7中, 做swing界面, 用JDK1.4,怎么解决中文显示问题?
  • 最简单的问题,JDK1。4。0的配置问题!!!
  • 郁闷,关于JB7利用JDK1.3以前版本调试的问题
  • 极简单问题:安装了jdk1.2.1后该怎么配置系统启动文件????
  • 极菜的问题!!resin2.0.4+jdk1.3就可以运行servlet了吗?
  • jdk1.1里的很菜的问题,请大家帮忙
  • 在红帽子9上安装jdk1.5遇到一些问题.
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 哪位有jdk1.4的下载,sun网站上有问题,而我又急用,望帮忙!!!
  • jdk1.3在WIN98下设置环境变量时出现的问题
  • JDK1.3.1初级问题求教
  • jdk1.3.0_02的问题!
  • Eclipse3.0 + JDK1.5 + CDT2.1 问题
  • 高分求解!redhat linux7.2+jdk1.4的中文显示问题.
  • PLEASE,JDK1.3与JDK1.4???????
  • 在哪儿能下载jdk1.4或jdk1.3,很急!在线等待!
  • 我在WIN2000下怎么也安装不上JDK1.3,请问是怎么回事。JDK1.2倒可以安上。
  • 请问jdk1.3和jdk1.4有什么不同?
  • 请问jdk1.1.8中的javax.activation.DataSource在jdk1.3中在什么包里?
  • 在WIN/XP下如何设置JDK1.3.1/JDK1.4的路径!
  • 请问:我的Linux机器上装有JDK1.1.8,现在我想安装JDK1.3.1,我该怎么做呢?
  • jdk1.3 standard 与 jdk1.2 enterprise有何区别?
  • 基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法
  • Solaris10默认安装JDK1.5,我还能安装JDK1.4么?
  • 怎样把JBuilder里的jdk1.2替换成别的目录里已安好的jdk1.3啊?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3