I think so. That'd be less confusing. On 30 March 2017 at 02:43, Mikael Ståldal <[email protected]> wrote:
> Would it make sense to have shortcuts for Property and KeyValuePair, since > they are generic and used by several appenders/layouts? > > On Wed, Mar 29, 2017 at 7:12 PM, Matt Sicker <[email protected]> wrote: > > > Oh, I see. That's an interesting API... > > > > On 29 March 2017 at 10:49, Marvin Geitner <[email protected]> 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:[email protected]] > > > Gesendet: Mittwoch, 29. März 2017 17:46 > > > An: Log4J Users List <[email protected]> > > > 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 <[email protected]> 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 <[email protected]> > > 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 <[email protected]> > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > -- > > Matt Sicker <[email protected]> > > > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > [email protected] > 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. > -- Matt Sicker <[email protected]>
