1 package org.codehaus.plexus.logging; 2 3 /* 4 * Copyright 2001-2006 Codehaus Foundation. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 /** 20 * @author Jason van Zyl 21 * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a> 22 */ 23 public interface LoggerManager { 24 String ROLE = LoggerManager.class.getName(); 25 26 /** 27 * Sets the threshold for all new loggers. It will NOT affect the existing loggers. 28 * 29 * This is usually only set once while the logger manager is configured. 30 * 31 * @param threshold The new threshold. 32 */ 33 void setThreshold(int threshold); 34 35 /** 36 * Returns the current threshold for all new loggers. 37 * 38 * @return Returns the current threshold for all new loggers. 39 */ 40 int getThreshold(); 41 42 /** 43 * Sets the threshold for all loggers. It affects all the existing loggers 44 * as well as future loggers. 45 * 46 * @param threshold The new threshold. 47 */ 48 void setThresholds(int threshold); 49 50 // The new stuff 51 void setThreshold(String role, int threshold); 52 53 void setThreshold(String role, String roleHint, int threshold); 54 55 int getThreshold(String role); 56 57 int getThreshold(String role, String roleHint); 58 59 Logger getLoggerForComponent(String role); 60 61 Logger getLoggerForComponent(String role, String roleHint); 62 63 void returnComponentLogger(String role); 64 65 void returnComponentLogger(String role, String hint); 66 67 int getActiveLoggerCount(); 68 }