001 /* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at 010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE 011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE. 012 * See the License for the specific language governing permissions 013 * and limitations under the License. 014 * 015 * When distributing Covered Code, include this CDDL HEADER in each 016 * file and include the License file at 017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, 018 * add the following below this CDDL HEADER, with the fields enclosed 019 * by brackets "[]" replaced with your own identifying information: 020 * Portions Copyright [yyyy] [name of copyright owner] 021 * 022 * CDDL HEADER END 023 * 024 * 025 * Copyright 2008 Sun Microsystems, Inc. 026 */ 027 package org.opends.server.admin.std.server; 028 029 030 031 import java.util.SortedSet; 032 import org.opends.server.admin.server.ConfigurationAddListener; 033 import org.opends.server.admin.server.ConfigurationChangeListener; 034 import org.opends.server.admin.server.ConfigurationDeleteListener; 035 import org.opends.server.admin.std.meta.DebugLogPublisherCfgDefn.DefaultDebugCategory; 036 import org.opends.server.admin.std.meta.DebugLogPublisherCfgDefn.DefaultDebugLevel; 037 import org.opends.server.config.ConfigException; 038 039 040 041 /** 042 * A server-side interface for querying Debug Log Publisher settings. 043 * <p> 044 * Debug Log Publishers are responsible for distributing debug log 045 * messages from the debug logger to a destination. 046 */ 047 public interface DebugLogPublisherCfg extends LogPublisherCfg { 048 049 /** 050 * Gets the configuration class associated with this Debug Log Publisher. 051 * 052 * @return Returns the configuration class associated with this Debug Log Publisher. 053 */ 054 Class<? extends DebugLogPublisherCfg> configurationClass(); 055 056 057 058 /** 059 * Register to be notified when this Debug Log Publisher is changed. 060 * 061 * @param listener 062 * The Debug Log Publisher configuration change listener. 063 */ 064 void addDebugChangeListener(ConfigurationChangeListener<DebugLogPublisherCfg> listener); 065 066 067 068 /** 069 * Deregister an existing Debug Log Publisher configuration change listener. 070 * 071 * @param listener 072 * The Debug Log Publisher configuration change listener. 073 */ 074 void removeDebugChangeListener(ConfigurationChangeListener<DebugLogPublisherCfg> listener); 075 076 077 078 /** 079 * Gets the "default-debug-category" property. 080 * <p> 081 * The debug message categories to be logged when none of the 082 * defined targets match the message. 083 * 084 * @return Returns an unmodifiable set containing the values of the "default-debug-category" property. 085 */ 086 SortedSet<DefaultDebugCategory> getDefaultDebugCategory(); 087 088 089 090 /** 091 * Gets the "default-debug-level" property. 092 * <p> 093 * The lowest severity level of debug messages to log when none of 094 * the defined targets match the message. 095 * 096 * @return Returns the value of the "default-debug-level" property. 097 */ 098 DefaultDebugLevel getDefaultDebugLevel(); 099 100 101 102 /** 103 * Gets the "default-include-throwable-cause" property. 104 * <p> 105 * Indicates whether to include the cause of exceptions in exception 106 * thrown and caught messages logged by default. 107 * 108 * @return Returns the value of the "default-include-throwable-cause" property. 109 */ 110 boolean isDefaultIncludeThrowableCause(); 111 112 113 114 /** 115 * Gets the "default-omit-method-entry-arguments" property. 116 * <p> 117 * Indicates whether to include method arguments in debug messages 118 * logged by default. 119 * 120 * @return Returns the value of the "default-omit-method-entry-arguments" property. 121 */ 122 boolean isDefaultOmitMethodEntryArguments(); 123 124 125 126 /** 127 * Gets the "default-omit-method-return-value" property. 128 * <p> 129 * Indicates whether to include the return value in debug messages 130 * logged by default. 131 * 132 * @return Returns the value of the "default-omit-method-return-value" property. 133 */ 134 boolean isDefaultOmitMethodReturnValue(); 135 136 137 138 /** 139 * Gets the "default-throwable-stack-frames" property. 140 * <p> 141 * Indicates the number of stack frames to include in the stack 142 * trace for method entry and exception thrown messages. 143 * 144 * @return Returns the value of the "default-throwable-stack-frames" property. 145 */ 146 int getDefaultThrowableStackFrames(); 147 148 149 150 /** 151 * Gets the "java-class" property. 152 * <p> 153 * The fully-qualified name of the Java class that provides the 154 * Debug Log Publisher implementation. 155 * 156 * @return Returns the value of the "java-class" property. 157 */ 158 String getJavaClass(); 159 160 161 162 /** 163 * Lists the Debug Targets. 164 * 165 * @return Returns an array containing the names of the 166 * Debug Targets. 167 */ 168 String[] listDebugTargets(); 169 170 171 172 /** 173 * Gets the named Debug Target. 174 * 175 * @param name 176 * The name of the Debug Target to retrieve. 177 * @return Returns the named Debug Target. 178 * @throws ConfigException 179 * If the Debug Target could not be found or it 180 * could not be successfully decoded. 181 */ 182 DebugTargetCfg getDebugTarget(String name) throws ConfigException; 183 184 185 186 /** 187 * Registers to be notified when new Debug Targets are added. 188 * 189 * @param listener 190 * The Debug Target configuration add listener. 191 * @throws ConfigException 192 * If the add listener could not be registered. 193 */ 194 void addDebugTargetAddListener(ConfigurationAddListener<DebugTargetCfg> listener) throws ConfigException; 195 196 197 198 /** 199 * Deregisters an existing Debug Target configuration add listener. 200 * 201 * @param listener 202 * The Debug Target configuration add listener. 203 */ 204 void removeDebugTargetAddListener(ConfigurationAddListener<DebugTargetCfg> listener); 205 206 207 208 /** 209 * Registers to be notified when existing Debug Targets are deleted. 210 * 211 * @param listener 212 * The Debug Target configuration delete listener. 213 * @throws ConfigException 214 * If the delete listener could not be registered. 215 */ 216 void addDebugTargetDeleteListener(ConfigurationDeleteListener<DebugTargetCfg> listener) throws ConfigException; 217 218 219 220 /** 221 * Deregisters an existing Debug Target configuration delete listener. 222 * 223 * @param listener 224 * The Debug Target configuration delete listener. 225 */ 226 void removeDebugTargetDeleteListener(ConfigurationDeleteListener<DebugTargetCfg> listener); 227 228 }