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:23:00 GMT
Remoko,

Any idea on how to achieve that goal? We were able to do that using log4j
1.2 without any issue.

Thanks

On Thu, Dec 3, 2015 at 10:51 AM, Chathura Widanage <chathura@adroitlogic.com
> wrote:

> Gary,
> I don't find getLayout method in any of the class that are related to
> Appenders.
>
> On Thu, Dec 3, 2015 at 12:29 AM, Gary Gregory <garydgregory@gmail.com>
> wrote:
>
>> For the console appender getting the encoding will look like:
>>
>> Layout layout = consoleAppender.getLayout();
>> if (layout instanceof StringLayout) {
>>    return ((StringLayout)layout).getCharset();
>> }
>>
>> Gary
>>
>> On Wed, Dec 2, 2015 at 12:12 PM, 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
>> > >
>> > >
>> >
>>
>>
>>
>> --
>> 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