Oh, I see. That's an interesting API...

On 29 March 2017 at 10:49, Marvin Geitner <mgeit...@novomind.com> wrote:

> Thank you very much,
>
> kafkaBuilder.addComponent(builder.newComponent("bootstrap.servers",
> "Property", "kafka.host:*9092*"));
>
> is working.
>
> BR
> Marvin
>
> -----Ursprüngliche Nachricht-----
> Von: Ralph Goers [mailto:ralph.go...@dslextreme.com]
> Gesendet: Mittwoch, 29. März 2017 17:46
> An: Log4J Users List <log4j-user@logging.apache.org>
> Betreff: Re: Kafka Appender with Programmatic Configuration
>
> Mikael’s solution is correct. Every item in the ConfigurationBuilder is a
> Component. We have “special” Components for things that are always used,
> such as Loggers and Appenders. But we can’t know about every type of
> Component so in those cases you just use the generic Component.
>
> Ralph
>
> > On Mar 29, 2017, at 8:26 AM, Matt Sicker <boa...@gmail.com> wrote:
> >
> > Looks like a bug to me! Here's the issue: a Properties component is
> > injected into a kafka appender, but there is no way to create a
> > Property or Properties component directly via the configuration
> > builder API. The top level properties aren't injected in the kafka
> > appender (and manager), so they're unused.
> >
> > Interestingly enough, I don't see a way to inject KeyValuePair
> > components either (which is a similar plugin class in log4j-core).
> >
> > Could you make an issue here:
> > https://issues.apache.org/jira/browse/LOG4J2
> >
> > On 29 March 2017 at 09:27, Marvin Geitner <mgeit...@novomind.com> wrote:
> >
> >> Hi all,
> >>
> >> I'm trying to configure the Kafka Appender with the programmatic
> >> configuration described in the manuals. So I created the
> >> ConfigurationFactory and set up the AppenderComponentBuilder.
> >>
> >> If I execute the Application I'll get following exception:
> >>
> >> Caused by: org.apache.kafka.common.config.ConfigException: Missing
> >> required configuration "bootstrap.servers" which has no default value.
> >>
> >> Obviously the property "bootstrap.servers" hasn't been set.
> >>
> >> A builder.addProperty("bootstrap.servers", "kafka.host"); doesn't work.
> >> In XML the configuration looks like <Property
> >> name="bootstrap.servers"> kafka.host</Property>.
> >>
> >> But how do I set this in java?
> >>
> >> The code looks like the following:
> >>
> >>    static Configuration createConfiguration(final String name,
> >> ConfigurationBuilder<BuiltConfiguration> builder) {
> >>
> >>        builder.setConfigurationName(name);
> >>        builder.setStatusLevel(Level.INFO);
> >>
> >>        AppenderComponentBuilder kafkaBuilder =
> >> builder.newAppender("KafkaLogger ", "Kafka")
> >>                .addAttribute("topic", "testTopic");
> >>        kafkaBuilder.add(builder.newLayout("PatternLayout")
> >>                .addAttribute("pattern", "%d{HH:mm:ss:SSS} |
> >> %logger{20} | %msg%n%ex{5}"));
> >>
> >>        builder.add(kafkaBuilder);
> >>
> >>        builder.add(builder.newRootLogger(Level.INFO).add(
> >> builder.newAppenderRef("KafkaLogger")));
> >>
> >>        return builder.build();
> >>    }
> >>
> >> Hope someone can help me.
> >>
> >> Thanks and BR,
> >> Marvin
> >>
> >
> >
> >
> > --
> > Matt Sicker <boa...@gmail.com>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to