Index: . =================================================================== --- . (revision 537769) +++ . (working copy) @@ -43,29 +43,30 @@ import org.apache.harmony.logging.internal.nls.Messages; /** - * LogManager is used to maintain configuration properties of the - * logging framework, and to manage a hierarchical namespace of all named - * Logger objects. + * LogManager is used to manage named Loggers and + * any shared logging properties. *

- * There is only one global LogManager instance in the - * application, which can be get by calling static method - * LogManager.getLogManager(). This instance is created and - * initialized during class initialization and cannot be changed. + * There is one global LogManager instance in the application, + * which can be obtained by calling the static method + * LogManager.getLogManager(). *

*

- * The LogManager class can be specified by - * java.util.logging.manager system property, if the property is unavailable or - * invalid, the default class java.util.logging.LogManager will - * be used. + * All methods on this type can be taken as being thread safe. *

*

- * When initialization, LogManager read its configuration from a - * properties file, which by default is the "lib/logging.properties" in the JRE - * directory. + * The LogManager class can be specified by the + * "java.util.logging.manager" system property. If the property is unavailable + * or invalid java.util.logging.LogManager will be used by + * default. *

*

- * However, two optional system properties can be used to customize the initial - * configuration process of LogManager. + * On initialization, LogManager reads its configuration data + * from a properties file, which by default is the "lib/logging.properties" file + * in the JRE directory. + *

+ *

+ * However, two system properties can be used instead to customize the + * initialization of the LogManager: *

*

*

- * These two properties can be set in three ways, by the Preferences API, by the - * "java" command line property definitions, or by system property definitions - * passed to JNI_CreateJavaVM. + * These properties can be set either by using the Preferences API, as a command + * line option or by passing the appropriate system property definitions to + * JNI_CreateJavaVM. *

*

- * The "java.util.logging.config.class" should specifies a class name. If it is - * set, this given class will be loaded and instantiated during - * LogManager initialization, so that this object's default - * constructor can read the initial configuration and define properties for + * The "java.util.logging.config.class" property should specify a class name. If + * it is set, this class will be loaded and instantiated during + * LogManager's initialization, so that this object's default + * constructor can read the initial configuration and define properties for the * LogManager. *

*

- * If "java.util.logging.config.class" property is not set, or it is invalid, or - * some exception is thrown during the instantiation, then the - * "java.util.logging.config.file" system property can be used to specify a - * properties file. The LogManager will read initial - * configuration from this file. - *

- *

- * If neither of these properties is defined, or some exception is thrown - * during these two properties using, the LogManager will read - * its initial configuration from default properties file, as described above. + * The "java.util.logging.config.file" system property can be used to specify a + * properties file if the "java.util.logging.config.class" property has not been + * used. This file will be read instead of the default properties file. *

*

- * The global logging properties may include: + * Some global logging properties are as follows: *

*

*

- * This class, together with any handler and configuration classes associated - * with it, must be loaded from the system classpath when - * LogManager configuration occurs. - *

- *

- * Besides global properties, the properties for loggers and Handlers can be - * specified in the property files. The names of these properties will start - * with the complete dot separated names for the handlers or loggers. + * Besides global properties, properties for individual Loggers + * and Handlers can be specified in the property files. The names + * of these properties will start with the fully qualified name of the handler + * or logger. *

*

- * In the LogManager's hierarchical namespace, - * Loggers are organized based on their dot separated names. For - * example, "x.y.z" is child of "x.y". + * The LogManager organizes Loggers based on their + * fully qualified names. For example, "x.y.z" is child of "x.y". *

*

* Levels for Loggers can be defined by properties whose name end - * with ".level". Thus "alogger.level" defines a level for the logger named as - * "alogger" and for all its children in the naming hierarchy. Log levels - * properties are read and applied in the same order as they are specified in - * the property file. The root logger's level can be defined by the property - * named as ".level". - *

- *

- * All methods on this type can be taken as being thread safe. + * with ".level". For example, "alogger.level = 4" sets the level for the logger + * "alogger" to 4, Any children of "alogger" will also be given the level 4 + * unless specified lower down in the properties file. The property ".level" + * will set the log level for the root logger. *

* */