logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chathura Widanage <chath...@adroitlogic.com>
Subject Re: Migrating from log4j to log4j2
Date Thu, 03 Dec 2015 05:19:15 GMT
Yes Remoko, You are absolutely correct.

On Thu, Dec 3, 2015 at 4:25 AM, Remko Popma <remko.popma@gmail.com> wrote:

> If I understand correctly, your users can modify the log configuration via
> a web interface? You can use the log4j 2 JMX MBeans to get the internal
> log4j status messages and display those to the users.
>
> Sent from my iPhone
>
> > On 2015/12/03, at 2:12, Chathura Widanage <chathura@adroitlogic.com>
> wrote:
> >
> > We are developing a product(ESB) that will be used by an end user. In our
> > product we have provided an interface to alter the logging patterns
> > according the user preference in run time is self. We were able to do
> this
> > using log4j1. But I can't find a way to alter the pattern of appender in
> > run time using log4j2.
> >
> > In case of Console appender, we want to collect information about the
> > appenders, so user can view them in a GUI which is provided by our
> product.
> >
> > Please let me know if there is a possible way of doing these thing using
> > log4j2.
> >
> > I would be glad if you can mention the log4j2 methods or procedures that
> > can be used to performs the exact same function of the following log4j1
> > methods.
> >
> > setlayout
> >
> https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Appender.html#setLayout(org.apache.log4j.Layout)
> >
> https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/AppenderSkeleton.html#setLayout(org.apache.log4j.Layout)
> >
> > setThreshold
> >
> https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/AppenderSkeleton.html#setThreshold(org.apache.log4j.Priority)
> >
> > getTarget
> >
> https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/ConsoleAppender.html#getTarget()
> >
> > getEncoding
> >
> https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/ConsoleAppender.html#getFollow()
> >
> > Thanks in advance
> >
> >
> > On Wed, Dec 2, 2015 at 7:32 PM, Ralph Goers <ralph.goers@dslextreme.com>
> > wrote:
> >
> >> I’m not sure what you are trying to do with the pattern is necessary.
> The
> >> latest version of Log4j supports a PatternSelector that should provide
> what
> >> you need.
> >>
> >> I am not sure why the updating of the ConsoleAppender is necessary. Why
> >> can’t that just be configured?
> >>
> >> Ralph
> >>
> >>>> On Dec 2, 2015, at 12:29 AM, Chathura Widanage <
> chathura@adroitlogic.com>
> >>> wrote:
> >>>
> >>> Hi all,
> >>>
> >>> I am in a process of migrating an application from log4j1 to log4j2.
> >>> I have successfully migrated 98% of the application but I am stuck at a
> >>> point where it is required to alter the configurations of an Appender
> at
> >>> the run time.
> >>>
> >>> Below is the piece of code that we used in log4j1
> >>>
> >>> public void updateAppender(AppenderView view) {
> >>>       auditLog.info("Updating the appender with the name : {}, of the
> >>> instance", view.getName());
> >>>       AppenderSkeleton appender = (AppenderSkeleton)
> >>> LogManager.getRootLogger().getAppender(view.getName());
> >>>
> >>>       if (view.getPattern() != null) {
> >>>           appender.setLayout(new PatternLayout(view.getPattern()));
> >>>       }
> >>>
> >>>       if (!"null".equals(view.getThreshold())) {
> >>>           appender.setThreshold(Level.toLevel(view.getThreshold()));
> >>>       }
> >>>   }
> >>>
> >>> Since in log4j2, there is no method called setLayout and setThreshold
> in
> >>> Appender class, Can I know a way to implement the above functionality
> >> using
> >>> the log4j2 APIs.
> >>>
> >>> Further I want to migrate the following piece of code,
> >>>
> >>> else if (appender instanceof ConsoleAppender) {
> >>>           ConsoleAppender consoleAppender = (ConsoleAppender) appender;
> >>>           properties.put(CONSOLE_APPENDER_TARGET,
> >>> consoleAppender.getTarget());
> >>>           properties.put(CONSOLE_APPENDER_ENCODING,
> >>> consoleAppender.getEncoding());
> >>>           properties.put(CONSOLE_APPENDER_FOLLOW,
> >>> String.valueOf(consoleAppender.getFollow()));
> >>>       }
> >>>
> >>> Here I don't find getTarget,getEncoding,getFollow methods in
> >>> ConsoleAppender class.
> >>>
> >>> Can some one please lead me to the way which I can implement the above
> >>> functionalities using log4j2 APIs.
> >>>
> >>> Thanks,
> >>> Chathura
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> >> For additional commands, e-mail: log4j-user-help@logging.apache.org
> >>
> >>
>
> ---------------------------------------------------------------------
> 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