Re: Migrating from log4j 1.2 to log4j 2

2014-01-31 Thread Ralph Goers
As it should be. They are very much subject to the internal workings of Log4j 
core and have nothing to do with the end user API.  

FWIW - here is the code you need.

org.apache.log4j.coreLoggerContext ctx = (org.apache.log4j.core.LoggerContext) 
LogManager.getContext(false);
Configuration config = ctx.getConfiguration();
ListAppender listApp;
for (final Map.Entry entry : 
config.getAppenders().entrySet()) {
if (entry.getKey().equals("List")) {
listApp = (ListAppender) entry.getValue();
}
}



On Jan 31, 2014, at 9:01 AM, Gary Gregory  wrote:

> Another item of note is that Appender is in the Core, not the public API.
> 
> Gary
> 
> 
> On Thu, Jan 30, 2014 at 9:54 PM, Remko Popma  wrote:
> 
>> Away from PC now, but if I remember correctly, that method is now commented
>> as "only used by Junit tests". That may be the most convenient method to
>> use. We may want to change that comment though...
>> 
>> 
>> On Friday, January 31, 2014, Gary Gregory
>> > garydgreg...@gmail.com');>>
>> wrote:
>> 
>>> I have finally created a separate sandbox for our app server to test
>>> porting from log4j1 to 2.
>>> 
>>> The first thing I run into? Just this issue! ;)
>>> 
>>> We have code like this:
>>> 
>>> Logger.getRootLogger().getAllAppenders()
>>> 
>>> Why? Because the server looks for the log file (if any) so that it can
>>> return its tail to our client side admin console.
>>> 
>>> I do not care if the functionality is part of the API, as long as it is
>> in
>>> the Core. We have custom appenders so we are tied to Log4j (version 1
>> ATM).
>>> 
>>> So what's a clean way to get this? I see:
>>> 
>>> - API: org.apache.logging.log4j.LogManager.getContext() but
>>> org.apache.logging.log4j.spi.LoggerContext does not surface appenders.
>>> - Core: org.apache.logging.log4j.core.Logger.getAppenders()
>>> 
>>> So I think I have a solution:
>>> 
>>> Map appenders = ((org.apache.logging.log4j.core.Logger)
>>> LogManager.getRootLogger()).getAppenders();
>>> 
>>> Where LogManager is in org.apache.logging.log4j.
>>> 
>>> Gary
>>> 
>>> 
>>> On Thu, Jan 30, 2014 at 4:23 PM, Remko Popma 
>>> wrote:
>>> 
 Hi Abhishek,
 
 These are currently private fields and not easily accessible.
 Can you explain your use case? Why do you need this?
 
 Best regards,
 Remko
 
 
 On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~ 
>> wrote:
 
> Hello Log4j 2 experts,
> 
> 
> 
> I am in the process of migrating my application from log4j 1.2 to
>> log4j
 2.0
> 
> I have existing code:
> 
> Enumeration appenders = logger.getAllAppenders();
> 
> .
> 
> .
> 
> .
> 
> fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
> 
> maxFileSize = rollingFileAppender.getMaximumFileSize();
> 
> 
> 
> In log4j 2.0 I could not find way to replace above java code. How to
>>> get
> list of all appenders and how to get the max value defined for
 RollingFile
> appender programmatically?
> 
> Regards,
> Abhishek
> 
 
>>> 
>>> 
>>> 
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second Edition<
>>> http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition 
>>> Spring Batch in Action 
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>> 
>> 
> 
> 
> 
> -- 
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second 
> Edition
> JUnit in Action, Second Edition 
> Spring Batch in Action 
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory


-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org



Re: Migrating from log4j 1.2 to log4j 2

2014-01-31 Thread Ralph Goers
Gary, there are tons of unit tests that get the appenders.  You have to get the 
Configuration from the loggerContext.  That is where the Appenders are, not on 
the Loggers.

Ralph

On Jan 30, 2014, at 6:23 PM, Gary Gregory  wrote:

> I have finally created a separate sandbox for our app server to test
> porting from log4j1 to 2.
> 
> The first thing I run into? Just this issue! ;)
> 
> We have code like this:
> 
> Logger.getRootLogger().getAllAppenders()
> 
> Why? Because the server looks for the log file (if any) so that it can
> return its tail to our client side admin console.
> 
> I do not care if the functionality is part of the API, as long as it is in
> the Core. We have custom appenders so we are tied to Log4j (version 1 ATM).
> 
> So what's a clean way to get this? I see:
> 
> - API: org.apache.logging.log4j.LogManager.getContext() but
> org.apache.logging.log4j.spi.LoggerContext does not surface appenders.
> - Core: org.apache.logging.log4j.core.Logger.getAppenders()
> 
> So I think I have a solution:
> 
> Map appenders = ((org.apache.logging.log4j.core.Logger)
> LogManager.getRootLogger()).getAppenders();
> 
> Where LogManager is in org.apache.logging.log4j.
> 
> Gary
> 
> 
> On Thu, Jan 30, 2014 at 4:23 PM, Remko Popma  wrote:
> 
>> Hi Abhishek,
>> 
>> These are currently private fields and not easily accessible.
>> Can you explain your use case? Why do you need this?
>> 
>> Best regards,
>> Remko
>> 
>> 
>> On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~  wrote:
>> 
>>> Hello Log4j 2 experts,
>>> 
>>> 
>>> 
>>> I am in the process of migrating my application from log4j 1.2 to log4j
>> 2.0
>>> 
>>> I have existing code:
>>> 
>>> Enumeration appenders = logger.getAllAppenders();
>>> 
>>> .
>>> 
>>> .
>>> 
>>> .
>>> 
>>> fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
>>> 
>>> maxFileSize = rollingFileAppender.getMaximumFileSize();
>>> 
>>> 
>>> 
>>> In log4j 2.0 I could not find way to replace above java code. How to get
>>> list of all appenders and how to get the max value defined for
>> RollingFile
>>> appender programmatically?
>>> 
>>> Regards,
>>> Abhishek
>>> 
>> 
> 
> 
> 
> -- 
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second 
> Edition
> JUnit in Action, Second Edition 
> Spring Batch in Action 
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory


-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org



Re: Migrating from log4j 1.2 to log4j 2

2014-01-31 Thread Gary Gregory
Another item of note is that Appender is in the Core, not the public API.

Gary


On Thu, Jan 30, 2014 at 9:54 PM, Remko Popma  wrote:

> Away from PC now, but if I remember correctly, that method is now commented
> as "only used by Junit tests". That may be the most convenient method to
> use. We may want to change that comment though...
>
>
> On Friday, January 31, 2014, Gary Gregory
>  garydgreg...@gmail.com');>>
> wrote:
>
> > I have finally created a separate sandbox for our app server to test
> > porting from log4j1 to 2.
> >
> > The first thing I run into? Just this issue! ;)
> >
> > We have code like this:
> >
> > Logger.getRootLogger().getAllAppenders()
> >
> > Why? Because the server looks for the log file (if any) so that it can
> > return its tail to our client side admin console.
> >
> > I do not care if the functionality is part of the API, as long as it is
> in
> > the Core. We have custom appenders so we are tied to Log4j (version 1
> ATM).
> >
> > So what's a clean way to get this? I see:
> >
> > - API: org.apache.logging.log4j.LogManager.getContext() but
> > org.apache.logging.log4j.spi.LoggerContext does not surface appenders.
> > - Core: org.apache.logging.log4j.core.Logger.getAppenders()
> >
> > So I think I have a solution:
> >
> > Map appenders = ((org.apache.logging.log4j.core.Logger)
> > LogManager.getRootLogger()).getAppenders();
> >
> > Where LogManager is in org.apache.logging.log4j.
> >
> > Gary
> >
> >
> > On Thu, Jan 30, 2014 at 4:23 PM, Remko Popma 
> > wrote:
> >
> > > Hi Abhishek,
> > >
> > > These are currently private fields and not easily accessible.
> > > Can you explain your use case? Why do you need this?
> > >
> > > Best regards,
> > > Remko
> > >
> > >
> > > On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~ 
> wrote:
> > >
> > > > Hello Log4j 2 experts,
> > > >
> > > >
> > > >
> > > > I am in the process of migrating my application from log4j 1.2 to
> log4j
> > > 2.0
> > > >
> > > > I have existing code:
> > > >
> > > > Enumeration appenders = logger.getAllAppenders();
> > > >
> > > > .
> > > >
> > > > .
> > > >
> > > > .
> > > >
> > > > fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
> > > >
> > > > maxFileSize = rollingFileAppender.getMaximumFileSize();
> > > >
> > > >
> > > >
> > > > In log4j 2.0 I could not find way to replace above java code. How to
> > get
> > > > list of all appenders and how to get the max value defined for
> > > RollingFile
> > > > appender programmatically?
> > > >
> > > > Regards,
> > > > Abhishek
> > > >
> > >
> >
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition<
> > http://www.manning.com/bauer3/>
> > JUnit in Action, Second Edition 
> > Spring Batch in Action 
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
JUnit in Action, Second Edition 
Spring Batch in Action 
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


Migrating from log4j 1.2 to log4j 2

2014-01-30 Thread Remko Popma
Away from PC now, but if I remember correctly, that method is now commented
as "only used by Junit tests". That may be the most convenient method to
use. We may want to change that comment though...


On Friday, January 31, 2014, Gary Gregory
>
wrote:

> I have finally created a separate sandbox for our app server to test
> porting from log4j1 to 2.
>
> The first thing I run into? Just this issue! ;)
>
> We have code like this:
>
> Logger.getRootLogger().getAllAppenders()
>
> Why? Because the server looks for the log file (if any) so that it can
> return its tail to our client side admin console.
>
> I do not care if the functionality is part of the API, as long as it is in
> the Core. We have custom appenders so we are tied to Log4j (version 1 ATM).
>
> So what's a clean way to get this? I see:
>
> - API: org.apache.logging.log4j.LogManager.getContext() but
> org.apache.logging.log4j.spi.LoggerContext does not surface appenders.
> - Core: org.apache.logging.log4j.core.Logger.getAppenders()
>
> So I think I have a solution:
>
> Map appenders = ((org.apache.logging.log4j.core.Logger)
> LogManager.getRootLogger()).getAppenders();
>
> Where LogManager is in org.apache.logging.log4j.
>
> Gary
>
>
> On Thu, Jan 30, 2014 at 4:23 PM, Remko Popma 
> wrote:
>
> > Hi Abhishek,
> >
> > These are currently private fields and not easily accessible.
> > Can you explain your use case? Why do you need this?
> >
> > Best regards,
> > Remko
> >
> >
> > On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~  wrote:
> >
> > > Hello Log4j 2 experts,
> > >
> > >
> > >
> > > I am in the process of migrating my application from log4j 1.2 to log4j
> > 2.0
> > >
> > > I have existing code:
> > >
> > > Enumeration appenders = logger.getAllAppenders();
> > >
> > > .
> > >
> > > .
> > >
> > > .
> > >
> > > fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
> > >
> > > maxFileSize = rollingFileAppender.getMaximumFileSize();
> > >
> > >
> > >
> > > In log4j 2.0 I could not find way to replace above java code. How to
> get
> > > list of all appenders and how to get the max value defined for
> > RollingFile
> > > appender programmatically?
> > >
> > > Regards,
> > > Abhishek
> > >
> >
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition<
> http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition 
> Spring Batch in Action 
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>


Re: Migrating from log4j 1.2 to log4j 2

2014-01-30 Thread Gary Gregory
I have finally created a separate sandbox for our app server to test
porting from log4j1 to 2.

The first thing I run into? Just this issue! ;)

We have code like this:

Logger.getRootLogger().getAllAppenders()

Why? Because the server looks for the log file (if any) so that it can
return its tail to our client side admin console.

I do not care if the functionality is part of the API, as long as it is in
the Core. We have custom appenders so we are tied to Log4j (version 1 ATM).

So what's a clean way to get this? I see:

- API: org.apache.logging.log4j.LogManager.getContext() but
org.apache.logging.log4j.spi.LoggerContext does not surface appenders.
- Core: org.apache.logging.log4j.core.Logger.getAppenders()

So I think I have a solution:

Map appenders = ((org.apache.logging.log4j.core.Logger)
LogManager.getRootLogger()).getAppenders();

Where LogManager is in org.apache.logging.log4j.

Gary


On Thu, Jan 30, 2014 at 4:23 PM, Remko Popma  wrote:

> Hi Abhishek,
>
> These are currently private fields and not easily accessible.
> Can you explain your use case? Why do you need this?
>
> Best regards,
> Remko
>
>
> On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~  wrote:
>
> > Hello Log4j 2 experts,
> >
> >
> >
> > I am in the process of migrating my application from log4j 1.2 to log4j
> 2.0
> >
> > I have existing code:
> >
> > Enumeration appenders = logger.getAllAppenders();
> >
> > .
> >
> > .
> >
> > .
> >
> > fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
> >
> > maxFileSize = rollingFileAppender.getMaximumFileSize();
> >
> >
> >
> > In log4j 2.0 I could not find way to replace above java code. How to get
> > list of all appenders and how to get the max value defined for
> RollingFile
> > appender programmatically?
> >
> > Regards,
> > Abhishek
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
JUnit in Action, Second Edition 
Spring Batch in Action 
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


Re: Migrating from log4j 1.2 to log4j 2

2014-01-30 Thread Remko Popma
Hi Abhishek,

These are currently private fields and not easily accessible.
Can you explain your use case? Why do you need this?

Best regards,
Remko


On Thu, Jan 30, 2014 at 2:33 PM, ~Abhi$hek~  wrote:

> Hello Log4j 2 experts,
>
>
>
> I am in the process of migrating my application from log4j 1.2 to log4j 2.0
>
> I have existing code:
>
> Enumeration appenders = logger.getAllAppenders();
>
> .
>
> .
>
> .
>
> fileBackupIndex = rollingFileAppender.getMaxBackupIndex();
>
> maxFileSize = rollingFileAppender.getMaximumFileSize();
>
>
>
> In log4j 2.0 I could not find way to replace above java code. How to get
> list of all appenders and how to get the max value defined for RollingFile
> appender programmatically?
>
> Regards,
> Abhishek
>


Migrating from log4j 1.2 to log4j 2

2014-01-29 Thread ~Abhi$hek~
Hello Log4j 2 experts,



I am in the process of migrating my application from log4j 1.2 to log4j 2.0

I have existing code:

Enumeration appenders = logger.getAllAppenders();

.

.

.

fileBackupIndex = rollingFileAppender.getMaxBackupIndex();

maxFileSize = rollingFileAppender.getMaximumFileSize();



In log4j 2.0 I could not find way to replace above java code. How to get
list of all appenders and how to get the max value defined for RollingFile
appender programmatically?

Regards,
Abhishek