logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Migrating from log4j to log4j2
Date Wed, 02 Dec 2015 22:55:30 GMT
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
View raw message