All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.osgi.service.log.admin.LoggerAdmin Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*
 * Copyright (c) OSGi Alliance (2016, 2017). All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.osgi.service.log.admin;

import org.osgi.annotation.versioning.ProviderType;
import org.osgi.service.log.LoggerFactory;

/**
 * LoggerAdmin service for configuring loggers.
 * 

* Each bundle may have its own named {@link LoggerContext} based upon its * bundle symbolic name, bundle version, and bundle location. There is also a * root Logger Context from which each named Logger Context inherits. The root * Logger Context has no name. *

* When a bundle logs, the logger implementation must locate the Logger Context * for the bundle to determine the * {@link LoggerContext#getEffectiveLogLevel(String) effective log level} of the * logger name. The best matching name for the Logger Context is the * longest name, which has a non-empty Logger Context, according to this syntax: * *

 * name ::= symbolic-name ( '|' version ( '|' location )? )?
 * 
* * The version must be formatted canonically, that is, according to the * {@code toString()} method of the {@code Version} class. So the Logger Context * for a bundle is searched for using the following names in the given order: * *
 * <symbolic-name>|<version>|<location>
 * <symbolic-name>|<version>
 * <symbolic-name>
 * 
* * The search stops at the first {@link LoggerContext#isEmpty() non-empty} * Logger Context. If no non-empty Logger Context is found using the above * search order, the Logger Context with the symbolic name of the bundle must be * used for the bundle. * * @ThreadSafe * @author $Id: 5a368797677b0f7d130d1e86ddd19f5ce8f82f65 $ */ @ProviderType public interface LoggerAdmin { /** * Logger Admin service property to associate the Logger Admin service with * a {@link LoggerFactory} service. *

* This service property is set to the {@code service.id} for the * {@link LoggerFactory} service administered by this Logger Admin. *

* The value of this service property must be of type {@code Long}. */ String LOG_SERVICE_ID = "osgi.log.service.id"; /** * Get the Logger Context for the specified name. * * @param name The name of the Logger Context. Can be {@code null} to * specify the root Logger Context. * @return The Logger Context for the specified name. The returned Logger * Context may be {@link LoggerContext#isEmpty() empty}. */ LoggerContext getLoggerContext(String name); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy