logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apostolis Giannakidis <ap.giannaki...@gmail.com>
Subject Re: Getter method for retrieving the attributes of an appender from the LoggerContext
Date Tue, 26 Jan 2016 21:06:24 GMT
Actually, since this seems to be a useful feature, I would love to do the
patch myself and contribute it to the project, if you don't mind.

On Tue, Jan 26, 2016 at 8:56 PM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:

> Actually, I kind of like the idea of adding a getAttributes() method to
> the Appender interface. Then each concrete Appender would do:
>
> public void getAttributes() {
>     Map<String, String> attributes = new HashMap<>();
>     super.getAttributes(attributes):
>     attributes.put(“myAttribute1”, “value1”);
>     return Collections.unmodifiableMap(attributes);
> }
>
>
>
> > On Jan 26, 2016, at 1:28 PM, Gary Gregory <garydgregory@gmail.com>
> wrote:
> >
> > How about adding getters for the fields
> > in org.apache.logging.log4j.core.net.AbstractSocketManager?
> >
> > Gary
> >
> > On Tue, Jan 26, 2016 at 12:20 PM, Matt Sicker <boards@gmail.com> wrote:
> >
> >> 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>
> >>
> >
> >
> >
> > --
> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > Java Persistence with Hibernate, Second Edition
> > <http://www.manning.com/bauer3/>
> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > Spring Batch in Action <http://www.manning.com/templier/>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>

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