logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: Getter method for retrieving the attributes of an appender from the LoggerContext
Date Tue, 26 Jan 2016 20:20:03 GMT
You could always use reflection to access it for now.

On 26 January 2016 at 14:17, Apostolis Giannakidis <ap.giannakidis@gmail.com
> wrote:

> Thank you very much for the prompt reply Ralph.
>
> As far as I can see, the SyslogAppender class does not expose a way to
> access these attributes. So, if there is no other way of accessing these
> attributes, then I am not able to retrieve the attributes that I want from
> the existing SyslogAppender implementation. If I understand correctly,
> correct me if I am wrong, I might have to create my own that exposes these
> attributes.
>
> Apos
>
> On Tue, Jan 26, 2016 at 8:03 PM, Ralph Goers <ralph.goers@dslextreme.com>
> wrote:
>
> > Not exactly. You can do:
> >
> > Appender appender = ctx.getConfiguration().getAppender(“syslogAppender”);
> >
> > then you would have to do
> >
> > SyslogAppender syslogAppender = (SyslogAppender) appender;
> >
> > normally you would probably use instanceof to verify it is actually a
> > SyslogAppender.
> >
> > Once you have that you can call whatever methods the SyslogAppender
> > exposes for getting its attributes. They are not stored in a Map however,
> > so you can’t just call a generic getAttribute method.
> >
> > Ralph
> >
> >
> > > On Jan 26, 2016, at 11:58 AM, Apostolis Giannakidis <
> > ap.giannakidis@gmail.com> wrote:
> > >
> > > Hello team,
> > >
> > > I have created a logger with an appender using the ConfigurationBuilder
> > and
> > > the AppenderComponentBuilder.
> > >
> > > Let's say that this is how I create my appender:
> > >
> > > AppenderComponentBuilder appenderBuilder =
> > >                builder.newAppender( "syslogAppender", "Syslog" )
> > >                .addAttribute( "protocol", "TCP" )
> > >                .addAttribute( "host", "localhost" )
> > >                .addAttribute( "port", 514 )
> > >                .addAttribute( "facility", "LOCAL2" )
> > >                .addAttribute( "immediateFlush", true )
> > >                .addAttribute( "newLine", true );
> > >
> > > Then, after I finish creating the builder I use the
> > > Configurator.initialize( builder.build() ) to get the LoggerContext.
> > >
> > > Is there any way I can access the attributes of the appender through
> the
> > > LoggerContext?
> > >
> > > For example something like this:
> > >
> > > LoggerContext ctx = Configurator.initialize( builder.build() );
> > >
> > > String hostname =
> > >
> >
> ctx.getConfiguration()..getAppenders().get("syslogAppender").getAttribute("host");
> > >
> > > Thank you all very much for your help.
> > >
> > > Apostolis
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> > For additional commands, e-mail: log4j-user-help@logging.apache.org
> >
> >
>



-- 
Matt Sicker <boards@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message