/* * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /** * Provides the classes and interfaces of * the Java 2 platform's core logging facilities. * The central goal of the logging APIs is to support maintaining and servicing * software at customer sites. * *

* There are four main target uses of the logs: *

* *
    *
  1. Problem diagnosis by end users and system administrators. * This consists of simple logging of common problems that can be fixed * or tracked locally, such as running out of resources, security failures, * and simple configuration errors. * *
  2. Problem diagnosis by field service engineers. The logging information * used by field service engineers may be considerably more complex and * verbose than that required by system administrators. Typically such information * will require extra logging within particular subsystems. * *
  3. Problem diagnosis by the development organization. * When a problem occurs in the field, it may be necessary to return the captured logging * information to the original development team for diagnosis. This logging * information may be extremely detailed and fairly inscrutable. Such information might include * detailed tracing on the internal execution of particular subsystems. * *
  4. Problem diagnosis by developers. The Logging APIs may also be * used to help debug an application under development. This may * include logging information generated by the target application * as well as logging information generated by lower-level libraries. * Note however that while this use is perfectly reasonable, * the logging APIs are not intended to replace the normal debugging * and profiling tools that may already exist in the development environment. *
* *

* The key elements of this package include: *

*

* The Logging APIs offer both static and dynamic configuration control. * Static control enables field service staff to set up a particular configuration and then re-launch the * application with the new logging settings. Dynamic control allows for updates to the * logging configuration within a currently running program. The APIs also allow for logging to be * enabled or disabled for different functional areas of the system. For example, * a field service engineer might be interested in tracing all AWT events, but might have no interest in * socket events or memory management. *

* *

Null Pointers

*

* In general, unless otherwise noted in the javadoc, methods and * constructors will throw NullPointerException if passed a null argument. * The one broad exception to this rule is that the logging convenience * methods in the Logger class (the config, entering, exiting, fine, finer, finest, * log, logp, logrb, severe, throwing, and warning methods) * will accept null values * for all arguments except for the initial Level argument (if any). * *

Related Documentation

*

* For an overview of control flow, * please refer to the * Java Logging Overview *

* * @since 1.4 */ package java.util.logging;