LogDomains.java revision ada1678a4262b208a7b87391f520a7767d25287c
03831d35f7499c87d51205817c93e9a8d42c4baestevel/*
03831d35f7499c87d51205817c93e9a8d42c4baestevel * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Copyright (c) 2006-2011 Oracle and/or its affiliates. All rights reserved.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * The contents of this file are subject to the terms of either the GNU
03831d35f7499c87d51205817c93e9a8d42c4baestevel * General Public License Version 2 only ("GPL") or the Common Development
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and Distribution License("CDDL") (collectively, the "License"). You
03831d35f7499c87d51205817c93e9a8d42c4baestevel * may not use this file except in compliance with the License. You can
03831d35f7499c87d51205817c93e9a8d42c4baestevel * obtain a copy of the License at
03831d35f7499c87d51205817c93e9a8d42c4baestevel * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
03831d35f7499c87d51205817c93e9a8d42c4baestevel * or packager/legal/LICENSE.txt. See the License for the specific
03831d35f7499c87d51205817c93e9a8d42c4baestevel * language governing permissions and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * When distributing the software, include this License Header Notice in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file and include the License file at packager/legal/LICENSE.txt.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * GPL Classpath Exception:
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Oracle designates this particular file as subject to the "Classpath"
03831d35f7499c87d51205817c93e9a8d42c4baestevel * exception as provided by Oracle in the GPL Version 2 section of the License
03831d35f7499c87d51205817c93e9a8d42c4baestevel * file that accompanied this code.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
52f4394b704526bb3aa41e8729fd03e754732822jfrank * Modifications:
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If applicable, add the following below the License Header, with the fields
03831d35f7499c87d51205817c93e9a8d42c4baestevel * enclosed by brackets [] replaced by your own identifying information:
03831d35f7499c87d51205817c93e9a8d42c4baestevel * "Portions Copyright [year] [name of copyright owner]"
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Contributor(s):
03831d35f7499c87d51205817c93e9a8d42c4baestevel * If you wish your version of this file to be governed by only the CDDL or
03831d35f7499c87d51205817c93e9a8d42c4baestevel * only the GPL Version 2, indicate your decision by adding "[Contributor]
03831d35f7499c87d51205817c93e9a8d42c4baestevel * elects to include this software in this distribution under the [CDDL or GPL
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Version 2] license." If you don't indicate a single choice of license, a
03831d35f7499c87d51205817c93e9a8d42c4baestevel * recipient has the option to distribute your version of this file under
03831d35f7499c87d51205817c93e9a8d42c4baestevel * either the CDDL, the GPL Version 2 or to extend the choice of license to
03831d35f7499c87d51205817c93e9a8d42c4baestevel * its licensees as provided above. However, if you add GPL Version 2 code
03831d35f7499c87d51205817c93e9a8d42c4baestevel * and therefore, elected the GPL Version 2 license, then the option applies
03831d35f7499c87d51205817c93e9a8d42c4baestevel * only if the new code is made subject to such option by the copyright
03831d35f7499c87d51205817c93e9a8d42c4baestevel * holder.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevelpackage com.sun.logging;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.Locale;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.MissingResourceException;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.ResourceBundle;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.Vector;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.concurrent.locks.Lock;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.concurrent.locks.ReentrantLock;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.logging.Level;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.logging.LogManager;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.logging.LogRecord;
03831d35f7499c87d51205817c93e9a8d42c4baestevelimport java.util.logging.Logger;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel/**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Class LogDomains
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevelpublic class LogDomains {
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * DOMAIN_ROOT the prefix for the logger name. This is public only
03831d35f7499c87d51205817c93e9a8d42c4baestevel * so it can be accessed w/in the ias package space.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String DOMAIN_ROOT = "javax.";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Upgrade logger name.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String UPGRADE_LOGGER = "upgradeLogger";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * PACKAGE_ROOT the prefix for the packages where logger resource
03831d35f7499c87d51205817c93e9a8d42c4baestevel * bundles reside. This is public only so it can be accessed w/in
03831d35f7499c87d51205817c93e9a8d42c4baestevel * the ias package space.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String PACKAGE_ROOT = "com.sun.logging.";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * RESOURCE_BUNDLE the name of the logging resource bundles.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String RESOURCE_BUNDLE = "LogStrings";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String STD_LOGGER = DOMAIN_ROOT + "enterprise.system.std";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String TOOLS_LOGGER = DOMAIN_ROOT + "enterprise.system.tools";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String EJB_LOGGER = DOMAIN_ROOT + "enterprise.system.container.ejb";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * JavaMail Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JAVAMAIL_LOGGER = DOMAIN_ROOT + "enterprise.resource.javamail";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * IIOP Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String IIOP_LOGGER = DOMAIN_ROOT + "enterprise.resource.iiop";
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * JMS Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JMS_LOGGER = DOMAIN_ROOT + "enterprise.resource.jms";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String WEB_LOGGER = DOMAIN_ROOT + "enterprise.system.container.web";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String CMP_LOGGER = DOMAIN_ROOT + "enterprise.system.container.cmp";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JDO_LOGGER = DOMAIN_ROOT + "enterprise.resource.jdo";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String ACC_LOGGER = DOMAIN_ROOT + "enterprise.system.container.appclient";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String MDB_LOGGER = DOMAIN_ROOT + "enterprise.system.container.ejb.mdb";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SECURITY_LOGGER = DOMAIN_ROOT + "enterprise.system.core.security";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SECURITY_SSL_LOGGER = DOMAIN_ROOT + "enterprise.system.ssl.security";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String TRANSACTION_LOGGER = DOMAIN_ROOT + "enterprise.system.core.transaction";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String CORBA_LOGGER = DOMAIN_ROOT + "enterprise.resource.corba";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel //START OF IASRI 4660742
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String UTIL_LOGGER = DOMAIN_ROOT + "enterprise.system.util";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String NAMING_LOGGER = DOMAIN_ROOT + "enterprise.system.core.naming";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JNDI_LOGGER = DOMAIN_ROOT + "enterprise.system.core.naming";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String ACTIVATION_LOGGER = DOMAIN_ROOT + "enterprise.system.activation";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JTA_LOGGER = DOMAIN_ROOT + "enterprise.resource.jta";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Resource Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String RSR_LOGGER = DOMAIN_ROOT + "enterprise.resource.resourceadapter";
03831d35f7499c87d51205817c93e9a8d42c4baestevel //END OF IASRI 4660742
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Deployment Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String DPL_LOGGER = DOMAIN_ROOT + "enterprise.system.tools.deployment";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Deployment audit logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String DPLAUDIT_LOGGER = DOMAIN_ROOT + "enterprise.system.tools.deployment.audit";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Field
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String DIAGNOSTICS_LOGGER = DOMAIN_ROOT + "enterprise.system.tools.diagnostics";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * JAXRPC Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JAXRPC_LOGGER = DOMAIN_ROOT + "enterprise.system.webservices.rpc";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * JAXR Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JAXR_LOGGER = DOMAIN_ROOT + "enterprise.system.webservices.registry";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * SAAJ Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SAAJ_LOGGER = DOMAIN_ROOT + "enterprise.system.webservices.saaj";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Self Management Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SELF_MANAGEMENT_LOGGER = DOMAIN_ROOT + "enterprise.system.core.selfmanagement";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * SQL Tracing Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SQL_TRACE_LOGGER = DOMAIN_ROOT + "enterprise.resource.sqltrace";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Admin Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String ADMIN_LOGGER =
03831d35f7499c87d51205817c93e9a8d42c4baestevel DOMAIN_ROOT + "enterprise.system.tools.admin";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Server Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SERVER_LOGGER = DOMAIN_ROOT + "enterprise.system";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * core Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String CORE_LOGGER = DOMAIN_ROOT + "enterprise.system.core";
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * classloader Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String LOADER_LOGGER = DOMAIN_ROOT + "enterprise.system.core.classloading";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Config Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String CONFIG_LOGGER = DOMAIN_ROOT + "enterprise.system.core.config";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Process Launcher Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String PROCESS_LAUNCHER_LOGGER = DOMAIN_ROOT + "enterprise.tools.launcher";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * GMS Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String GMS_LOGGER = DOMAIN_ROOT + "org.glassfish.gms";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * AMX Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String AMX_LOGGER = DOMAIN_ROOT + "enterprise.system.amx";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * JMX Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String JMX_LOGGER = DOMAIN_ROOT + "enterprise.system.jmx";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * core/kernel Logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String SERVICES_LOGGER = DOMAIN_ROOT + "enterprise.system.core.services";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * webservices logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String WEBSERVICES_LOGGER = DOMAIN_ROOT + "enterprise.webservices";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * monitoring logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String MONITORING_LOGGER = DOMAIN_ROOT + "enterprise.system.tools.monitor";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * persistence logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String PERSISTENCE_LOGGER = DOMAIN_ROOT + "org.glassfish.persistence";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * virtualization logger
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static final String VIRTUALIZATION_LOGGER = DOMAIN_ROOT + "org.glassfish.virtualization";
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // Lock to ensure the Logger creation is synchronized (JDK 6U10 and before can deadlock)
03831d35f7499c87d51205817c93e9a8d42c4baestevel static Lock lock = new ReentrantLock();
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // Use to store clazz name for which resource bundle is not found.
03831d35f7499c87d51205817c93e9a8d42c4baestevel static Vector<String> vectorClazz = new Vector<String>();
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * This is temporary and needed so that IAS can run with or without
03831d35f7499c87d51205817c93e9a8d42c4baestevel * the com.sun.enterprise.server.logging.ServerLogger. The subclassed
03831d35f7499c87d51205817c93e9a8d42c4baestevel * addLogger() method there automatically appends the logger name.
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel private static String getLoggerResourceBundleName(String loggerName) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel String result = loggerName + "." + RESOURCE_BUNDLE;
03831d35f7499c87d51205817c93e9a8d42c4baestevel // System.out.println("looking for bundle "+ result.replaceFirst(DOMAIN_ROOT, PACKAGE_ROOT));
03831d35f7499c87d51205817c93e9a8d42c4baestevel return result.replaceFirst(DOMAIN_ROOT, PACKAGE_ROOT);
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Method getLogger
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @param clazz
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @param name
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @return
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel public static synchronized Logger getLogger(final Class clazz, final String name) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel final ClassLoader cloader = clazz.getClassLoader();
03831d35f7499c87d51205817c93e9a8d42c4baestevel Logger l = LogManager.getLogManager().getLogger(name);
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (l == null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel //first time through for this logger. create it and find the resource bundle
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // should be pass in a resource bundle?
03831d35f7499c87d51205817c93e9a8d42c4baestevel l = Logger.getLogger(name);
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel ;
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // now create the real logger which is the logger name with the package name
03831d35f7499c87d51205817c93e9a8d42c4baestevel // this is what will be returned.
03831d35f7499c87d51205817c93e9a8d42c4baestevel //look for the resource bundle only in the package if not there then the resource
03831d35f7499c87d51205817c93e9a8d42c4baestevel // bundle from the parent above will be used.
03831d35f7499c87d51205817c93e9a8d42c4baestevel String pkgName = clazz.getPackage().getName();
03831d35f7499c87d51205817c93e9a8d42c4baestevel String loggerName = name + "." + pkgName;
03831d35f7499c87d51205817c93e9a8d42c4baestevel Logger cLogger = LogManager.getLogManager().getLogger(loggerName);
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // we should only add a logger of the same name at time.
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (cLogger == null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel //first time through for this logger. create it and find the resource bundle
03831d35f7499c87d51205817c93e9a8d42c4baestevel cLogger = new Logger(loggerName, null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // cache it to avoid having to use the class loader later. see GLASSFISH-17256
03831d35f7499c87d51205817c93e9a8d42c4baestevel final ResourceBundle rb = initResourceBundle();
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /* override this method to set the the thread id so all handlers get the same info*/
03831d35f7499c87d51205817c93e9a8d42c4baestevel private final int offValue = Level.OFF.intValue();
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel public void log(LogRecord record) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel record.getSourceMethodName();
03831d35f7499c87d51205817c93e9a8d42c4baestevel if(record.getResourceBundle()==null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel if(rb!=null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel record.setResourceBundle(rb);
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel //record.setThreadID((int) Thread.currentThread().getId());
03831d35f7499c87d51205817c93e9a8d42c4baestevel if(record.getMessage()==null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel record.setMessage("");
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel super.log(record);
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel /**
03831d35f7499c87d51205817c93e9a8d42c4baestevel * Retrieve the localization resource bundle for this
03831d35f7499c87d51205817c93e9a8d42c4baestevel * logger for the current default locale. Note that if
03831d35f7499c87d51205817c93e9a8d42c4baestevel * the result is null, then the Logger will use a resource
03831d35f7499c87d51205817c93e9a8d42c4baestevel * bundle inherited from its parent.
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel * @return localization bundle (may be null)
03831d35f7499c87d51205817c93e9a8d42c4baestevel *
03831d35f7499c87d51205817c93e9a8d42c4baestevel */
03831d35f7499c87d51205817c93e9a8d42c4baestevel public ResourceBundle getResourceBundle() {
03831d35f7499c87d51205817c93e9a8d42c4baestevel return rb;
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel private ResourceBundle initResourceBundle() {
03831d35f7499c87d51205817c93e9a8d42c4baestevel //call routine to add resource bundle if not already added
03831d35f7499c87d51205817c93e9a8d42c4baestevel // the return needs to go through all known resource bundles
03831d35f7499c87d51205817c93e9a8d42c4baestevel try {
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel return ResourceBundle.getBundle(getLoggerResourceBundleName(name), Locale.getDefault(), cloader);
03831d35f7499c87d51205817c93e9a8d42c4baestevel } catch (MissingResourceException e) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel //try the parent
03831d35f7499c87d51205817c93e9a8d42c4baestevel String root = clazz.getPackage().getName();
03831d35f7499c87d51205817c93e9a8d42c4baestevel try {
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel return ResourceBundle.getBundle(root + "." + RESOURCE_BUNDLE, Locale.getDefault(), cloader);
03831d35f7499c87d51205817c93e9a8d42c4baestevel } catch (MissingResourceException me) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel //walk the parents to find the bundle
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel String p = root;
03831d35f7499c87d51205817c93e9a8d42c4baestevel while (p != null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel try {
03831d35f7499c87d51205817c93e9a8d42c4baestevel int i = p.lastIndexOf(".");
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (i != -1) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel p = p.substring(0, i);
03831d35f7499c87d51205817c93e9a8d42c4baestevel return ResourceBundle.getBundle(p + "." + RESOURCE_BUNDLE, Locale.getDefault(), cloader);
03831d35f7499c87d51205817c93e9a8d42c4baestevel } else {
03831d35f7499c87d51205817c93e9a8d42c4baestevel p = null;
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel } catch (MissingResourceException mre) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel // look in this package for the file
03831d35f7499c87d51205817c93e9a8d42c4baestevel try {
03831d35f7499c87d51205817c93e9a8d42c4baestevel return ResourceBundle.getBundle(getLoggerResourceBundleName(name), Locale.getDefault(),
03831d35f7499c87d51205817c93e9a8d42c4baestevel LogDomains.class.getClassLoader());
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel } catch (MissingResourceException me) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel if(!vectorClazz.contains(clazz.getName())) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel Logger l = LogManager.getLogManager().getLogger(name);
03831d35f7499c87d51205817c93e9a8d42c4baestevel if(l!=null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel l.log(Level.FINE, "Can not find resource bundle for this logger. " + " class name that failed: " + clazz.getName());
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel vectorClazz.add(clazz.getName());
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel //throw e;
03831d35f7499c87d51205817c93e9a8d42c4baestevel return null;
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel ;
03831d35f7499c87d51205817c93e9a8d42c4baestevel };
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // let's make sure we are the only
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel // We must not return an orphan logger (the one we just created) if
03831d35f7499c87d51205817c93e9a8d42c4baestevel // a race condition has already created one
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (!addLoggerToLogManager(cLogger)) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel final Logger existing = LogManager.getLogManager().getLogger(name);
03831d35f7499c87d51205817c93e9a8d42c4baestevel if (existing == null) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel // Can loggers be removed? If not, this should be impossible
03831d35f7499c87d51205817c93e9a8d42c4baestevel // this time, make the call and hope for the best.
03831d35f7499c87d51205817c93e9a8d42c4baestevel addLoggerToLogManager(cLogger);
03831d35f7499c87d51205817c93e9a8d42c4baestevel } else {
03831d35f7499c87d51205817c93e9a8d42c4baestevel cLogger = existing;
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel };
03831d35f7499c87d51205817c93e9a8d42c4baestevel return cLogger;
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel private static boolean addLoggerToLogManager(Logger logger) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel // bnevins April 30, 2009 -- there is a bug in the JDK having to do with
03831d35f7499c87d51205817c93e9a8d42c4baestevel // the ordering of synchronization in the logger package.
03831d35f7499c87d51205817c93e9a8d42c4baestevel // The work-around is to ALWAYS lock in the order that the JDK bug
03831d35f7499c87d51205817c93e9a8d42c4baestevel // is assuming. That means lock A-B-A instead of B-A
03831d35f7499c87d51205817c93e9a8d42c4baestevel // A == Logger.class, B == LogManager.class
03831d35f7499c87d51205817c93e9a8d42c4baestevel // I created this method to make it very very clear what is going on
03831d35f7499c87d51205817c93e9a8d42c4baestevel
03831d35f7499c87d51205817c93e9a8d42c4baestevel synchronized (Logger.class) {
03831d35f7499c87d51205817c93e9a8d42c4baestevel return LogManager.getLogManager().addLogger(logger);
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel }
03831d35f7499c87d51205817c93e9a8d42c4baestevel}
03831d35f7499c87d51205817c93e9a8d42c4baestevel