org.apache.logging.log4j.core.config.plugins.PluginElement#org.graylog2.gelfclient.GelfConfiguration源码实例Demo

下面列出了org.apache.logging.log4j.core.config.plugins.PluginElement#org.graylog2.gelfclient.GelfConfiguration 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: gelfclient   文件: AbstractGelfTransportTest.java
@Test
public void testThreads() throws Exception {
    final int threads = 23;
    final GelfConfiguration configuration = new GelfConfiguration().threads(threads);
    final AbstractGelfTransport transport = new AbstractGelfTransport(configuration) {
        @Override
        protected void createBootstrap(EventLoopGroup workerGroup) {
            final NioEventLoopGroup eventLoopGroup = (NioEventLoopGroup) workerGroup;
            assertEquals(threads, eventLoopGroup.executorCount());
        }

        @Override
        public void flushAndStopSynchronously(int waitDuration, TimeUnit timeUnit, int retries) {
            super.flushAndStopSynchronously(waitDuration, timeUnit, retries);
        }
    };
    transport.stop();
}
 
源代码2 项目: logback-gelf-appender   文件: GelfAppender.java
private GelfConfiguration getGelfConfiguration() {

        final InetSocketAddress serverAddress = new InetSocketAddress(server, port);
        final GelfTransports gelfProtocol = GelfTransports.valueOf(protocol().toUpperCase());

        return new GelfConfiguration(serverAddress).transport(gelfProtocol)
            .queueSize(queueSize)
            .connectTimeout(connectTimeout)
            .reconnectDelay(reconnectDelay)
            .sendBufferSize(sendBufferSize)
            .tcpNoDelay(tcpNoDelay)
            .tcpKeepAlive(tcpKeepAlive);
    }
 
源代码3 项目: gelfclient   文件: AbstractGelfTransport.java
/**
 * Creates a new GELF transport with the given configuration and {@link java.util.concurrent.BlockingQueue}.
 *
 * @param config the client configuration
 * @param queue  the {@link BlockingQueue} used to buffer GELF messages
 */
public AbstractGelfTransport(final GelfConfiguration config, final BlockingQueue<GelfMessage> queue) {
    this.config = config;
    this.queue = queue;
    this.workerGroup = new NioEventLoopGroup(config.getThreads(), new DefaultThreadFactory(getClass(), true));
    this.senderThreadReference = new AtomicReference<>();
    createBootstrap(workerGroup);
}
 
源代码4 项目: log4j2-gelf   文件: GelfAppender.java
protected GelfAppender(final String name,
                       final Layout<? extends Serializable> layout,
                       final Filter filter,
                       final boolean ignoreExceptions,
                       final GelfConfiguration gelfConfiguration,
                       final String hostName,
                       final boolean includeSource,
                       final boolean includeThreadContext,
                       final boolean includeStackTrace,
                       final KeyValuePair[] additionalFields,
                       final boolean includeExceptionCause) {
    super(name, filter, layout, ignoreExceptions);
    this.gelfConfiguration = gelfConfiguration;
    this.hostName = hostName;
    this.includeSource = includeSource;
    this.includeThreadContext = includeThreadContext;
    this.includeStackTrace = includeStackTrace;
    this.includeExceptionCause = includeExceptionCause;

    if (null != additionalFields) {
        this.additionalFields = new HashMap<>();
        for (KeyValuePair pair : additionalFields) {
            this.additionalFields.put(pair.getKey(), pair.getValue());
        }
    } else {
        this.additionalFields = Collections.emptyMap();
    }
}
 
源代码5 项目: play2-graylog2   文件: Graylog2Plugin.java
public Graylog2Plugin(Application app) {
    final Configuration config = app.configuration();

    accessLogEnabled = config.getBoolean("graylog2.appender.send-access-log", false);
    queueCapacity = config.getInt("graylog2.appender.queue-size", 512);
    reconnectInterval = config.getMilliseconds("graylog2.appender.reconnect-interval", 500L);
    connectTimeout = config.getMilliseconds("graylog2.appender.connect-timeout", 1000L);
    isTcpNoDelay = config.getBoolean("graylog2.appender.tcp-nodelay", false);
    sendBufferSize = config.getInt("graylog2.appender.sendbuffersize", 0); // causes the socket default to be used
    try {
        canonicalHostName = config.getString("graylog2.appender.sourcehost", InetAddress.getLocalHost().getCanonicalHostName());
    } catch (UnknownHostException e) {
        canonicalHostName = "localhost";
        log.error("Unable to resolve canonical localhost name. " +
                "Please set it manually via graylog2.appender.sourcehost or fix your lookup service, falling back to {}", canonicalHostName);
    }
    // TODO make this a list and dynamically accessible from the application
    final String hostString = config.getString("graylog2.appender.host", "127.0.0.1:12201");
    final String protocol = config.getString("graylog2.appender.protocol", "tcp");

    final HostAndPort hostAndPort = HostAndPort.fromString(hostString);

    final GelfTransports gelfTransport = GelfTransports.valueOf(protocol.toUpperCase());

    final GelfConfiguration gelfConfiguration = new GelfConfiguration(hostAndPort.getHostText(), hostAndPort.getPort())
            .transport(gelfTransport)
            .reconnectDelay(reconnectInterval.intValue())
            .queueSize(queueCapacity)
            .connectTimeout(connectTimeout.intValue())
            .tcpNoDelay(isTcpNoDelay)
            .sendBufferSize(sendBufferSize);

    this.transport = GelfTransports.create(gelfConfiguration);

    final LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
    rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);

    gelfAppender = new GelfclientAppender(transport, getLocalHostName());
    gelfAppender.setContext(lc);
}
 
源代码6 项目: gelfclient   文件: GelfUdpTransport.java
/**
 * Creates a new UDP GELF transport.
 *
 * @param config the GELF client configuration
 */
public GelfUdpTransport(final GelfConfiguration config) {
    super(config);
}
 
源代码7 项目: gelfclient   文件: GelfTcpTransport.java
/**
 * Creates a new TCP GELF transport.
 *
 * @param config the GELF client configuration
 */
public GelfTcpTransport(GelfConfiguration config) {
    super(config);
}
 
源代码8 项目: gelfclient   文件: AbstractGelfTransport.java
/**
 * Creates a new GELF transport with the given configuration.
 *
 * @param config the client configuration
 */
public AbstractGelfTransport(final GelfConfiguration config) {
    this(config, new LinkedBlockingQueue<GelfMessage>(config.getQueueSize()));

}