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 23:46:03 GMT
Well, since the idea is to add it to the Appender interface, it means that
all concrete Appenders need to be modified as well. So, yes, I can give it
a try to implement it for all the Appenders. One other simple way would be
to implement it once in the AbstractAppender so that all its subclasses
will inherit it.

On Tue, Jan 26, 2016 at 9:15 PM, Gary Gregory <garydgregory@gmail.com>
wrote:

> On Tue, Jan 26, 2016 at 1:06 PM, Apostolis Giannakidis <
> ap.giannakidis@gmail.com> wrote:
>
> > 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.
> >
>
> Do you plan on implementing this for all Appenders?
>
> Gary
>
> >
> > 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
> > >
> > >
> >
>
>
>
> --
> 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
>

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