org.apache.logging.log4j.core.appender.AbstractManager Java Examples

The following examples show how to use org.apache.logging.log4j.core.appender.AbstractManager. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JmsAppender.java    From logging-log4j2 with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("resource") // actualJmsManager and jndiManager are managed by the JmsAppender
@Override
public JmsAppender build() {
    JmsManager actualJmsManager = jmsManager;
    JmsManagerConfiguration configuration = null;
    if (actualJmsManager == null) {
        final Properties jndiProperties = JndiManager.createProperties(factoryName, providerUrl, urlPkgPrefixes,
                securityPrincipalName, securityCredentials, null);
        configuration = new JmsManagerConfiguration(jndiProperties, factoryBindingName, destinationBindingName,
                userName, password, false, reconnectIntervalMillis);
        actualJmsManager = AbstractManager.getManager(getName(), JmsManager.FACTORY, configuration);
    }
    if (actualJmsManager == null) {
        // JmsManagerFactory has already logged an ERROR.
        return null;
    }
    if (getLayout() == null) {
        LOGGER.error("No layout provided for JmsAppender");
        return null;
    }
    try {
        return new JmsAppender(getName(), getFilter(), getLayout(), isIgnoreExceptions(), getPropertyArray(), actualJmsManager);
    } catch (final JMSException e) {
        //  Never happens since the ctor no longer actually throws a JMSException.
        throw new IllegalStateException(e);
    }
}
 
Example #2
Source File: AbstractDatabaseManager.java    From logging-log4j2 with Apache License 2.0 2 votes vote down vote up
/**
 * Implementations should define their own getManager method and call this method from that to create or get
 * existing managers.
 *
 * @param name The manager name, which should include any configuration details that one might want to be able to
 *             reconfigure at runtime, such as database name, username, (hashed) password, etc.
 * @param data The concrete instance of {@link AbstractFactoryData} appropriate for the given manager.
 * @param factory A factory instance for creating the appropriate manager.
 * @param <M> The concrete manager type.
 * @param <T> The concrete {@link AbstractFactoryData} type.
 * @return a new or existing manager of the specified type and name.
 */
protected static <M extends AbstractDatabaseManager, T extends AbstractFactoryData> M getManager(
        final String name, final T data, final ManagerFactory<M, T> factory
) {
    return AbstractManager.getManager(name, factory, data);
}