Have you tried this:

kafkaBuilder.addComponent(builder.newComponent("bootstrap.servers",
"Property", "kafka.host:*9092*"));


On Wed, Mar 29, 2017 at 5:26 PM, 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>
>



-- 
[image: MagineTV]

*Mikael Ståldal*
Senior software developer

*Magine TV*
mikael.stal...@magine.com
Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com

Privileged and/or Confidential Information may be contained in this
message. If you are not the addressee indicated in this message
(or responsible for delivery of the message to such a person), you may not
copy or deliver this message to anyone. In such case,
you should destroy this message and kindly notify the sender by reply
email.

Reply via email to