| | |
| | | import org.opends.server.admin.std.server.ErrorLogPublisherCfg; |
| | | |
| | | /** |
| | | * This class defines the set of methods and structures that must be |
| | | * implemented for a Directory Server error log publisher. |
| | | * This class defines the set of methods and structures that must be implemented |
| | | * for a Directory Server error log publisher. |
| | | * |
| | | * @param <T> The type of error log publisher configuration handled |
| | | * by this log publisher implementation. |
| | | * @param <T> |
| | | * The type of error log publisher configuration handled by this log |
| | | * publisher implementation. |
| | | */ |
| | | @org.opends.server.types.PublicAPI( |
| | | stability=org.opends.server.types.StabilityLevel.VOLATILE, |
| | | mayInstantiate=false, |
| | | mayExtend=true, |
| | | mayInvoke=false) |
| | | stability = org.opends.server.types.StabilityLevel.VOLATILE, |
| | | mayInstantiate = false, mayExtend = true, mayInvoke = false) |
| | | public abstract class ErrorLogPublisher<T extends ErrorLogPublisherCfg> |
| | | implements LogPublisher<T> |
| | | { |
| | | |
| | | private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass(); |
| | | private static final LocalizedLogger logger = LocalizedLogger |
| | | .getLoggerForThisClass(); |
| | | |
| | | /** |
| | | * The hash map that will be used to define specific log severities |
| | | * for the various categories. |
| | | * The hash map that will be used to define specific log severities for the |
| | | * various categories. |
| | | */ |
| | | protected Map<String, Set<Severity>> definedSeverities = |
| | | new HashMap<String, Set<Severity>>(); |
| | | |
| | | |
| | | |
| | | /** |
| | | * The set of default log severities that will be used if no custom |
| | | * severities have been defined for the associated category. |
| | | * The set of default log severities that will be used if no custom severities |
| | | * have been defined for the associated category. |
| | | */ |
| | | protected Set<Severity> defaultSeverities = new HashSet<Severity>(); |
| | | |
| | | |
| | | |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public boolean isConfigurationAcceptable(T configuration, |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | // This default implementation does not perform any special |
| | | // validation. It should be overridden by error log publisher |
| | |
| | | } |
| | | |
| | | /** |
| | | * Writes a message to the error log using the provided information. The |
| | | * message's category and severity information will be used to determine |
| | | * whether to actually log this message. |
| | | * |
| | | * @param message |
| | | * The message to be logged. |
| | | */ |
| | | public void logError(LocalizableMessage message) { |
| | | // TODO : to remove |
| | | } |
| | | |
| | | /** |
| | | * Writes a message to the error log using the provided information. |
| | | * <p> |
| | | * The category and severity information are used to determine whether to |
| | | * actually log this message. |
| | | * <p> |
| | | * Category is defined using either short name (used for classes in well |
| | | * defined packages) or fully qualified classname. Conversion to short name is |
| | | * done automatically when loggers are created, see |
| | | * {@code LoggingCategoryNames} for list of existing short names. |
| | | * |
| | | * @param category |
| | | * The category of the message. |
| | | * The category of the message, which is either a classname or a |
| | | * simple category name defined in {@code LoggingCategoryNames} |
| | | * class. |
| | | * @param severity |
| | | * The severity of the message. |
| | | * @param message |
| | | * The message to be logged. |
| | | * @param exception |
| | | * The exception to be logged. |
| | | * The exception to be logged. May be {@code null}. |
| | | */ |
| | | public abstract void log(String category, Severity severity, |
| | | LocalizableMessage message, Throwable exception); |
| | |
| | | * Check if a message should be logged for the provided category and severity. |
| | | * |
| | | * @param category |
| | | * The category of the message. |
| | | * The category of the message, which is either a classname or a |
| | | * simple category name defined in {@code LoggingCategoryNames} |
| | | * class. |
| | | * @param severity |
| | | * The severity of the message. |
| | | * @return {@code true} if the message should be logged, {@code false} |