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 remko.po...@gmail.com 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.comjavascript:_e(%7B%7D,'cvml','
 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:
 
  MapString, Appender 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 remko.po...@gmail.com
  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~ boyobo...@gmail.com
 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 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
 




-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Editionhttp://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


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 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:
 
 MapString, Appender 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 remko.po...@gmail.com 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~ boyobo...@gmail.com 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 
 Editionhttp://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-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
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.EntryString, Appender entry : 
config.getAppenders().entrySet()) {
if (entry.getKey().equals(List)) {
listApp = (ListAppender) entry.getValue();
}
}



On Jan 31, 2014, at 9:01 AM, Gary Gregory garydgreg...@gmail.com 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 remko.po...@gmail.com 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.comjavascript:_e(%7B%7D,'cvml','
 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:
 
 MapString, Appender 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 remko.po...@gmail.com
 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~ boyobo...@gmail.com
 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 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
 
 
 
 
 
 -- 
 E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
 Java Persistence with Hibernate, Second 
 Editionhttp://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-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-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~ boyobo...@gmail.com 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-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
garydgreg...@gmail.comjavascript:_e(%7B%7D,'cvml','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:

 MapString, Appender 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 remko.po...@gmail.com
 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~ boyobo...@gmail.com 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 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