You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Lucas Vickers <lu...@gmail.com> on 2009/07/12 02:01:26 UTC
using a different log4j.properties file per classes directory
Hello,
Excuse my simple question as I am new to tomcat/log4j.
I have looked at the mailing list and did some googling but no luck.
What I would like to do is have my tomcat installation use one log file, and
then my own servlet use a different log file.
./common/classes/log4j.properties =
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.MaxFileSize=100MB
log4j.appender.R.MaxBackupIndex=50
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
log4j.rootLogger=DEBUG, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tabs.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=100
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Ideal result is that my class in /servlets-examples will be in DEBUG level
and will output to the "tabs.log"
It appears that my servlet-examples is outputting to tomcat.og and is in
INFO level.
Could anyone please help me figure out what I am missing.
Many thanks,
Lucas
Re: using a different log4j.properties file per classes directory
Posted by Lucas Vickers <lu...@gmail.com>.
Got it working exactly as I want. thanks everyone. I included my
.properties file below for reference
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.MaxFileSize=100MB
log4j.appender.R.MaxBackupIndex=50
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p: %d{MM-dd@HH:mm:ss} %t %c -
%m%n
log4j.additivity.com.tabs=false
log4j.logger.com.tabs=DEBUG, T
log4j.appender.T=org.apache.log4j.RollingFileAppender
log4j.appender.T.File=${catalina.home}/logs/tabs.log
log4j.appender.T.MaxFileSize=25MB
log4j.appender.T.MaxBackupIndex=50
log4j.appender.T.layout=org.apache.log4j.PatternLayout
log4j.appender.T.layout.ConversionPattern=%-5p: %d{MM-dd@HH:mm:ss} %t %c -
%m%n
On Tue, Jul 14, 2009 at 12:39 PM, Jacob Kjome <ho...@visi.com> wrote:
>
> Well, you most certainly shouldn't get DEBUG messages in the "R" appender
> since the root logger is restricted to the INFO level or higher. Are you
> sure that Log4j is using the config file you think it is? Try running with
> -Dlog4j.debug=true to find out.
>
> Jake
>
> On Tue, 14 Jul 2009 10:45:05 -0400
>
> Lucas Vickers <lu...@gmail.com> wrote:
>
>> Correct I am getting all the DEBUG/INFO/WARN/FATAL from tabs in the root
>> logger.
>>
>> I will try setting additivity to false.
>>
>> thanks :)
>>
>> On Tue, Jul 14, 2009 at 10:42 AM, Jacob Kjome <ho...@visi.com> wrote:
>>
>> Are you saying that you get INFO (as well as WARN, ERROR, and FATAL)
>>> logging from the "com.tabs" logger (and children) in the "R" appender
>>> associated with the rootLogger? That's to be expected, as the "com.tabs"
>>> logger (and children) inherits appenders from parent loggers unless
>>> additivity is set to "false".
>>>
>>> While you can set...
>>>
>>> log4j.additivity.com.tabs=false
>>>
>>> ...I recommend you simply change your root logger to log at a more strict
>>> level that will log a bit less, such as "WARN". If you want less
>>> restrictive logging for certain things, then you can define those
>>> separately. This should minimize what gets logged to your "R" appender
>>> and
>>> make it easier to grok.
>>>
>>>
>>> Jake
>>>
>>>
>>> On Mon, 13 Jul 2009 22:58:32 -0400
>>> Lucas Vickers <lu...@gmail.com> wrote:
>>>
>>> I'm using tomcat 5.5.25
>>>>
>>>> I modified the log4j in the commons dir:
>>>> common/classes/log4j.properties
>>>>
>>>> and added two seporate logging definitions based on class:
>>>>
>>>> log4j.rootLogger=INFO, R
>>>>
>>>> log4j.category.com.tabs=REBUG, T
>>>>
>>>> in my java code I define the logger as:
>>>> Logger log = Logger.getLogger("com.tabs.servlet");
>>>>
>>>> which then causes all the tabs based logging to occur in a separate file
>>>> (defined under the T log definition). The log entries from tabs are
>>>> repeated into the root logger, which is not ideal but I can deal with.
>>>>
>>>> Lucas
>>>>
>>>> On Mon, Jul 13, 2009 at 3:54 AM, Jacob Kjome <ho...@visi.com> wrote:
>>>>
>>>> Work for me. Different versions require different setups. 5.5
>>>> required
>>>>
>>>>> log4j.jar
>>>>> and commons-logging.jar in common/lib. 6.x requries you to manually
>>>>> rebuild their
>>>>> custom logging framework to work with Log4j. By default, it's
>>>>> hard-wired
>>>>> to JUL.
>>>>> So, all that can be considered "fishy". I've never really had an
>>>>> issue
>>>>> with the
>>>>> per-app logging when placing log4j.jar in WEB-INF/lib even with another
>>>>> copy in
>>>>> common/lib. What issues have you run into?
>>>>>
>>>>> Jake
>>>>>
>>>>> On 7/13/2009 12:30 AM, Yair Ogen wrote:
>>>>> > log4j under Tomcat is known to be "fishy" regarding class path.
>>>>> > Are you sure this suggestion works?
>>>>> >
>>>>> > On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
>>>>> >
>>>>> >> You have to deploy log4j.jar in both common/lib as well as
>>>>> WEB-INF/lib
>>>>> of
>>>>> >> each
>>>>> >> app. Tomcat will use the one in common/lib and each webapp will use
>>>>> the
>>>>> >> one in
>>>>> >> its respective WEB-INF/lib (because of child-first, or parent-last,
>>>>> >> classloading
>>>>> >> behavior of webapps).
>>>>> >>
>>>>> >> Jake
>>>>> >>
>>>>> >> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
>>>>> >>> Hello,
>>>>> >>> Excuse my simple question as I am new to tomcat/log4j.
>>>>> >>> I have looked at the mailing list and did some googling but no
>>>>> luck.
>>>>> >>>
>>>>> >>> What I would like to do is have my tomcat installation use one log
>>>>> file,
>>>>> >> and
>>>>> >>> then my own servlet use a different log file.
>>>>> >>>
>>>>> >>> ./common/classes/log4j.properties =
>>>>> >>>
>>>>> >>> log4j.rootLogger=INFO, R
>>>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>>>> >>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
>>>>> >>> log4j.appender.R.MaxFileSize=100MB
>>>>> >>> log4j.appender.R.MaxBackupIndex=50
>>>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>>> >>>
>>>>> >>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>>>>> >>>
>>>>> >>> log4j.rootLogger=DEBUG, R
>>>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>>>> >>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
>>>>> >>> log4j.appender.R.MaxFileSize=10MB
>>>>> >>> log4j.appender.R.MaxBackupIndex=100
>>>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>>> >>>
>>>>> >>> Ideal result is that my class in /servlets-examples will be in
>>>>> DEBUG
>>>>> >> level
>>>>> >>> and will output to the "tabs.log"
>>>>> >>>
>>>>> >>> It appears that my servlet-examples is outputting to tomcat.og and
>>>>> is
>>>>> in
>>>>> >>> INFO level.
>>>>> >>>
>>>>> >>> Could anyone please help me figure out what I am missing.
>>>>> >>> Many thanks,
>>>>> >>> Lucas
>>>>> >>>
>>>>> >>
>>>>> ---------------------------------------------------------------------
>>>>> >> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>> ---------------------------------------------------------------------
>>> 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
>
>
Re: using a different log4j.properties file per classes directory
Posted by Jacob Kjome <ho...@visi.com>.
Well, you most certainly shouldn't get DEBUG messages in the "R" appender
since the root logger is restricted to the INFO level or higher. Are you sure
that Log4j is using the config file you think it is? Try running with
-Dlog4j.debug=true to find out.
Jake
On Tue, 14 Jul 2009 10:45:05 -0400
Lucas Vickers <lu...@gmail.com> wrote:
> Correct I am getting all the DEBUG/INFO/WARN/FATAL from tabs in the root
> logger.
>
> I will try setting additivity to false.
>
> thanks :)
>
> On Tue, Jul 14, 2009 at 10:42 AM, Jacob Kjome <ho...@visi.com> wrote:
>
>> Are you saying that you get INFO (as well as WARN, ERROR, and FATAL)
>> logging from the "com.tabs" logger (and children) in the "R" appender
>> associated with the rootLogger? That's to be expected, as the "com.tabs"
>> logger (and children) inherits appenders from parent loggers unless
>> additivity is set to "false".
>>
>> While you can set...
>>
>> log4j.additivity.com.tabs=false
>>
>> ...I recommend you simply change your root logger to log at a more strict
>> level that will log a bit less, such as "WARN". If you want less
>> restrictive logging for certain things, then you can define those
>> separately. This should minimize what gets logged to your "R" appender and
>> make it easier to grok.
>>
>>
>> Jake
>>
>>
>> On Mon, 13 Jul 2009 22:58:32 -0400
>> Lucas Vickers <lu...@gmail.com> wrote:
>>
>>> I'm using tomcat 5.5.25
>>>
>>> I modified the log4j in the commons dir:
>>> common/classes/log4j.properties
>>>
>>> and added two seporate logging definitions based on class:
>>>
>>> log4j.rootLogger=INFO, R
>>>
>>> log4j.category.com.tabs=REBUG, T
>>>
>>> in my java code I define the logger as:
>>> Logger log = Logger.getLogger("com.tabs.servlet");
>>>
>>> which then causes all the tabs based logging to occur in a separate file
>>> (defined under the T log definition). The log entries from tabs are
>>> repeated into the root logger, which is not ideal but I can deal with.
>>>
>>> Lucas
>>>
>>> On Mon, Jul 13, 2009 at 3:54 AM, Jacob Kjome <ho...@visi.com> wrote:
>>>
>>> Work for me. Different versions require different setups. 5.5 required
>>>> log4j.jar
>>>> and commons-logging.jar in common/lib. 6.x requries you to manually
>>>> rebuild their
>>>> custom logging framework to work with Log4j. By default, it's hard-wired
>>>> to JUL.
>>>> So, all that can be considered "fishy". I've never really had an issue
>>>> with the
>>>> per-app logging when placing log4j.jar in WEB-INF/lib even with another
>>>> copy in
>>>> common/lib. What issues have you run into?
>>>>
>>>> Jake
>>>>
>>>> On 7/13/2009 12:30 AM, Yair Ogen wrote:
>>>> > log4j under Tomcat is known to be "fishy" regarding class path.
>>>> > Are you sure this suggestion works?
>>>> >
>>>> > On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
>>>> >
>>>> >> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib
>>>> of
>>>> >> each
>>>> >> app. Tomcat will use the one in common/lib and each webapp will use
>>>> the
>>>> >> one in
>>>> >> its respective WEB-INF/lib (because of child-first, or parent-last,
>>>> >> classloading
>>>> >> behavior of webapps).
>>>> >>
>>>> >> Jake
>>>> >>
>>>> >> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
>>>> >>> Hello,
>>>> >>> Excuse my simple question as I am new to tomcat/log4j.
>>>> >>> I have looked at the mailing list and did some googling but no luck.
>>>> >>>
>>>> >>> What I would like to do is have my tomcat installation use one log
>>>> file,
>>>> >> and
>>>> >>> then my own servlet use a different log file.
>>>> >>>
>>>> >>> ./common/classes/log4j.properties =
>>>> >>>
>>>> >>> log4j.rootLogger=INFO, R
>>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>>> >>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
>>>> >>> log4j.appender.R.MaxFileSize=100MB
>>>> >>> log4j.appender.R.MaxBackupIndex=50
>>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>> >>>
>>>> >>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>>>> >>>
>>>> >>> log4j.rootLogger=DEBUG, R
>>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>>> >>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
>>>> >>> log4j.appender.R.MaxFileSize=10MB
>>>> >>> log4j.appender.R.MaxBackupIndex=100
>>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>> >>>
>>>> >>> Ideal result is that my class in /servlets-examples will be in DEBUG
>>>> >> level
>>>> >>> and will output to the "tabs.log"
>>>> >>>
>>>> >>> It appears that my servlet-examples is outputting to tomcat.og and is
>>>> in
>>>> >>> INFO level.
>>>> >>>
>>>> >>> Could anyone please help me figure out what I am missing.
>>>> >>> Many thanks,
>>>> >>> Lucas
>>>> >>>
>>>> >> ---------------------------------------------------------------------
>>>> >> 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
>>>>
>>>>
>>>>
>>
>> ---------------------------------------------------------------------
>> 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
Re: using a different log4j.properties file per classes directory
Posted by Lucas Vickers <lu...@gmail.com>.
Correct I am getting all the DEBUG/INFO/WARN/FATAL from tabs in the root
logger.
I will try setting additivity to false.
thanks :)
On Tue, Jul 14, 2009 at 10:42 AM, Jacob Kjome <ho...@visi.com> wrote:
> Are you saying that you get INFO (as well as WARN, ERROR, and FATAL)
> logging from the "com.tabs" logger (and children) in the "R" appender
> associated with the rootLogger? That's to be expected, as the "com.tabs"
> logger (and children) inherits appenders from parent loggers unless
> additivity is set to "false".
>
> While you can set...
>
> log4j.additivity.com.tabs=false
>
> ...I recommend you simply change your root logger to log at a more strict
> level that will log a bit less, such as "WARN". If you want less
> restrictive logging for certain things, then you can define those
> separately. This should minimize what gets logged to your "R" appender and
> make it easier to grok.
>
>
> Jake
>
>
> On Mon, 13 Jul 2009 22:58:32 -0400
> Lucas Vickers <lu...@gmail.com> wrote:
>
>> I'm using tomcat 5.5.25
>>
>> I modified the log4j in the commons dir:
>> common/classes/log4j.properties
>>
>> and added two seporate logging definitions based on class:
>>
>> log4j.rootLogger=INFO, R
>>
>> log4j.category.com.tabs=REBUG, T
>>
>> in my java code I define the logger as:
>> Logger log = Logger.getLogger("com.tabs.servlet");
>>
>> which then causes all the tabs based logging to occur in a separate file
>> (defined under the T log definition). The log entries from tabs are
>> repeated into the root logger, which is not ideal but I can deal with.
>>
>> Lucas
>>
>> On Mon, Jul 13, 2009 at 3:54 AM, Jacob Kjome <ho...@visi.com> wrote:
>>
>> Work for me. Different versions require different setups. 5.5 required
>>> log4j.jar
>>> and commons-logging.jar in common/lib. 6.x requries you to manually
>>> rebuild their
>>> custom logging framework to work with Log4j. By default, it's hard-wired
>>> to JUL.
>>> So, all that can be considered "fishy". I've never really had an issue
>>> with the
>>> per-app logging when placing log4j.jar in WEB-INF/lib even with another
>>> copy in
>>> common/lib. What issues have you run into?
>>>
>>> Jake
>>>
>>> On 7/13/2009 12:30 AM, Yair Ogen wrote:
>>> > log4j under Tomcat is known to be "fishy" regarding class path.
>>> > Are you sure this suggestion works?
>>> >
>>> > On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
>>> >
>>> >> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib
>>> of
>>> >> each
>>> >> app. Tomcat will use the one in common/lib and each webapp will use
>>> the
>>> >> one in
>>> >> its respective WEB-INF/lib (because of child-first, or parent-last,
>>> >> classloading
>>> >> behavior of webapps).
>>> >>
>>> >> Jake
>>> >>
>>> >> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
>>> >>> Hello,
>>> >>> Excuse my simple question as I am new to tomcat/log4j.
>>> >>> I have looked at the mailing list and did some googling but no luck.
>>> >>>
>>> >>> What I would like to do is have my tomcat installation use one log
>>> file,
>>> >> and
>>> >>> then my own servlet use a different log file.
>>> >>>
>>> >>> ./common/classes/log4j.properties =
>>> >>>
>>> >>> log4j.rootLogger=INFO, R
>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>> >>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
>>> >>> log4j.appender.R.MaxFileSize=100MB
>>> >>> log4j.appender.R.MaxBackupIndex=50
>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>> >>>
>>> >>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>>> >>>
>>> >>> log4j.rootLogger=DEBUG, R
>>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>> >>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
>>> >>> log4j.appender.R.MaxFileSize=10MB
>>> >>> log4j.appender.R.MaxBackupIndex=100
>>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>> >>>
>>> >>> Ideal result is that my class in /servlets-examples will be in DEBUG
>>> >> level
>>> >>> and will output to the "tabs.log"
>>> >>>
>>> >>> It appears that my servlet-examples is outputting to tomcat.og and is
>>> in
>>> >>> INFO level.
>>> >>>
>>> >>> Could anyone please help me figure out what I am missing.
>>> >>> Many thanks,
>>> >>> Lucas
>>> >>>
>>> >> ---------------------------------------------------------------------
>>> >> 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
>>>
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>
Re: using a different log4j.properties file per classes directory
Posted by Jacob Kjome <ho...@visi.com>.
Are you saying that you get INFO (as well as WARN, ERROR, and FATAL) logging
from the "com.tabs" logger (and children) in the "R" appender associated with
the rootLogger? That's to be expected, as the "com.tabs" logger (and
children) inherits appenders from parent loggers unless additivity is set to
"false".
While you can set...
log4j.additivity.com.tabs=false
...I recommend you simply change your root logger to log at a more strict
level that will log a bit less, such as "WARN". If you want less restrictive
logging for certain things, then you can define those separately. This should
minimize what gets logged to your "R" appender and make it easier to grok.
Jake
On Mon, 13 Jul 2009 22:58:32 -0400
Lucas Vickers <lu...@gmail.com> wrote:
> I'm using tomcat 5.5.25
>
> I modified the log4j in the commons dir:
> common/classes/log4j.properties
>
> and added two seporate logging definitions based on class:
>
> log4j.rootLogger=INFO, R
>
> log4j.category.com.tabs=REBUG, T
>
> in my java code I define the logger as:
> Logger log = Logger.getLogger("com.tabs.servlet");
>
> which then causes all the tabs based logging to occur in a separate file
> (defined under the T log definition). The log entries from tabs are
> repeated into the root logger, which is not ideal but I can deal with.
>
> Lucas
>
> On Mon, Jul 13, 2009 at 3:54 AM, Jacob Kjome <ho...@visi.com> wrote:
>
>> Work for me. Different versions require different setups. 5.5 required
>> log4j.jar
>> and commons-logging.jar in common/lib. 6.x requries you to manually
>> rebuild their
>> custom logging framework to work with Log4j. By default, it's hard-wired
>> to JUL.
>> So, all that can be considered "fishy". I've never really had an issue
>> with the
>> per-app logging when placing log4j.jar in WEB-INF/lib even with another
>> copy in
>> common/lib. What issues have you run into?
>>
>> Jake
>>
>> On 7/13/2009 12:30 AM, Yair Ogen wrote:
>> > log4j under Tomcat is known to be "fishy" regarding class path.
>> > Are you sure this suggestion works?
>> >
>> > On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
>> >
>> >> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib
>> of
>> >> each
>> >> app. Tomcat will use the one in common/lib and each webapp will use the
>> >> one in
>> >> its respective WEB-INF/lib (because of child-first, or parent-last,
>> >> classloading
>> >> behavior of webapps).
>> >>
>> >> Jake
>> >>
>> >> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
>> >>> Hello,
>> >>> Excuse my simple question as I am new to tomcat/log4j.
>> >>> I have looked at the mailing list and did some googling but no luck.
>> >>>
>> >>> What I would like to do is have my tomcat installation use one log
>> file,
>> >> and
>> >>> then my own servlet use a different log file.
>> >>>
>> >>> ./common/classes/log4j.properties =
>> >>>
>> >>> log4j.rootLogger=INFO, R
>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>> >>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
>> >>> log4j.appender.R.MaxFileSize=100MB
>> >>> log4j.appender.R.MaxBackupIndex=50
>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>> >>>
>> >>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>> >>>
>> >>> log4j.rootLogger=DEBUG, R
>> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>> >>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
>> >>> log4j.appender.R.MaxFileSize=10MB
>> >>> log4j.appender.R.MaxBackupIndex=100
>> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>> >>>
>> >>> Ideal result is that my class in /servlets-examples will be in DEBUG
>> >> level
>> >>> and will output to the "tabs.log"
>> >>>
>> >>> It appears that my servlet-examples is outputting to tomcat.og and is
>> in
>> >>> INFO level.
>> >>>
>> >>> Could anyone please help me figure out what I am missing.
>> >>> Many thanks,
>> >>> Lucas
>> >>>
>> >> ---------------------------------------------------------------------
>> >> 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
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org
Re: using a different log4j.properties file per classes directory
Posted by Lucas Vickers <lu...@gmail.com>.
I'm using tomcat 5.5.25
I modified the log4j in the commons dir:
common/classes/log4j.properties
and added two seporate logging definitions based on class:
log4j.rootLogger=INFO, R
log4j.category.com.tabs=REBUG, T
in my java code I define the logger as:
Logger log = Logger.getLogger("com.tabs.servlet");
which then causes all the tabs based logging to occur in a separate file
(defined under the T log definition). The log entries from tabs are
repeated into the root logger, which is not ideal but I can deal with.
Lucas
On Mon, Jul 13, 2009 at 3:54 AM, Jacob Kjome <ho...@visi.com> wrote:
> Work for me. Different versions require different setups. 5.5 required
> log4j.jar
> and commons-logging.jar in common/lib. 6.x requries you to manually
> rebuild their
> custom logging framework to work with Log4j. By default, it's hard-wired
> to JUL.
> So, all that can be considered "fishy". I've never really had an issue
> with the
> per-app logging when placing log4j.jar in WEB-INF/lib even with another
> copy in
> common/lib. What issues have you run into?
>
> Jake
>
> On 7/13/2009 12:30 AM, Yair Ogen wrote:
> > log4j under Tomcat is known to be "fishy" regarding class path.
> > Are you sure this suggestion works?
> >
> > On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
> >
> >> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib
> of
> >> each
> >> app. Tomcat will use the one in common/lib and each webapp will use the
> >> one in
> >> its respective WEB-INF/lib (because of child-first, or parent-last,
> >> classloading
> >> behavior of webapps).
> >>
> >> Jake
> >>
> >> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
> >>> Hello,
> >>> Excuse my simple question as I am new to tomcat/log4j.
> >>> I have looked at the mailing list and did some googling but no luck.
> >>>
> >>> What I would like to do is have my tomcat installation use one log
> file,
> >> and
> >>> then my own servlet use a different log file.
> >>>
> >>> ./common/classes/log4j.properties =
> >>>
> >>> log4j.rootLogger=INFO, R
> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
> >>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
> >>> log4j.appender.R.MaxFileSize=100MB
> >>> log4j.appender.R.MaxBackupIndex=50
> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
> >>>
> >>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
> >>>
> >>> log4j.rootLogger=DEBUG, R
> >>> log4j.appender.R=org.apache.log4j.RollingFileAppender
> >>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
> >>> log4j.appender.R.MaxFileSize=10MB
> >>> log4j.appender.R.MaxBackupIndex=100
> >>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> >>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
> >>>
> >>> Ideal result is that my class in /servlets-examples will be in DEBUG
> >> level
> >>> and will output to the "tabs.log"
> >>>
> >>> It appears that my servlet-examples is outputting to tomcat.og and is
> in
> >>> INFO level.
> >>>
> >>> Could anyone please help me figure out what I am missing.
> >>> Many thanks,
> >>> Lucas
> >>>
> >> ---------------------------------------------------------------------
> >> 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
>
>
Re: using a different log4j.properties file per classes directory
Posted by Jacob Kjome <ho...@visi.com>.
Work for me. Different versions require different setups. 5.5 required log4j.jar
and commons-logging.jar in common/lib. 6.x requries you to manually rebuild their
custom logging framework to work with Log4j. By default, it's hard-wired to JUL.
So, all that can be considered "fishy". I've never really had an issue with the
per-app logging when placing log4j.jar in WEB-INF/lib even with another copy in
common/lib. What issues have you run into?
Jake
On 7/13/2009 12:30 AM, Yair Ogen wrote:
> log4j under Tomcat is known to be "fishy" regarding class path.
> Are you sure this suggestion works?
>
> On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
>
>> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib of
>> each
>> app. Tomcat will use the one in common/lib and each webapp will use the
>> one in
>> its respective WEB-INF/lib (because of child-first, or parent-last,
>> classloading
>> behavior of webapps).
>>
>> Jake
>>
>> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
>>> Hello,
>>> Excuse my simple question as I am new to tomcat/log4j.
>>> I have looked at the mailing list and did some googling but no luck.
>>>
>>> What I would like to do is have my tomcat installation use one log file,
>> and
>>> then my own servlet use a different log file.
>>>
>>> ./common/classes/log4j.properties =
>>>
>>> log4j.rootLogger=INFO, R
>>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
>>> log4j.appender.R.MaxFileSize=100MB
>>> log4j.appender.R.MaxBackupIndex=50
>>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>
>>> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>>>
>>> log4j.rootLogger=DEBUG, R
>>> log4j.appender.R=org.apache.log4j.RollingFileAppender
>>> log4j.appender.R.File=${catalina.home}/logs/tabs.log
>>> log4j.appender.R.MaxFileSize=10MB
>>> log4j.appender.R.MaxBackupIndex=100
>>> log4j.appender.R.layout=org.apache.log4j.PatternLayout
>>> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>>>
>>> Ideal result is that my class in /servlets-examples will be in DEBUG
>> level
>>> and will output to the "tabs.log"
>>>
>>> It appears that my servlet-examples is outputting to tomcat.og and is in
>>> INFO level.
>>>
>>> Could anyone please help me figure out what I am missing.
>>> Many thanks,
>>> Lucas
>>>
>> ---------------------------------------------------------------------
>> 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
Re: using a different log4j.properties file per classes directory
Posted by Yair Ogen <ya...@gmail.com>.
log4j under Tomcat is known to be "fishy" regarding class path.
Are you sure this suggestion works?
On Mon, Jul 13, 2009 at 10:27 AM, Jacob Kjome <ho...@visi.com> wrote:
> You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib of
> each
> app. Tomcat will use the one in common/lib and each webapp will use the
> one in
> its respective WEB-INF/lib (because of child-first, or parent-last,
> classloading
> behavior of webapps).
>
> Jake
>
> On 7/11/2009 6:01 PM, Lucas Vickers wrote:
> > Hello,
> > Excuse my simple question as I am new to tomcat/log4j.
> > I have looked at the mailing list and did some googling but no luck.
> >
> > What I would like to do is have my tomcat installation use one log file,
> and
> > then my own servlet use a different log file.
> >
> > ./common/classes/log4j.properties =
> >
> > log4j.rootLogger=INFO, R
> > log4j.appender.R=org.apache.log4j.RollingFileAppender
> > log4j.appender.R.File=${catalina.home}/logs/tomcat.log
> > log4j.appender.R.MaxFileSize=100MB
> > log4j.appender.R.MaxBackupIndex=50
> > log4j.appender.R.layout=org.apache.log4j.PatternLayout
> > log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
> >
> > ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
> >
> > log4j.rootLogger=DEBUG, R
> > log4j.appender.R=org.apache.log4j.RollingFileAppender
> > log4j.appender.R.File=${catalina.home}/logs/tabs.log
> > log4j.appender.R.MaxFileSize=10MB
> > log4j.appender.R.MaxBackupIndex=100
> > log4j.appender.R.layout=org.apache.log4j.PatternLayout
> > log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
> >
> > Ideal result is that my class in /servlets-examples will be in DEBUG
> level
> > and will output to the "tabs.log"
> >
> > It appears that my servlet-examples is outputting to tomcat.og and is in
> > INFO level.
> >
> > Could anyone please help me figure out what I am missing.
> > Many thanks,
> > Lucas
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>
Re: using a different log4j.properties file per classes directory
Posted by Jacob Kjome <ho...@visi.com>.
You have to deploy log4j.jar in both common/lib as well as WEB-INF/lib of each
app. Tomcat will use the one in common/lib and each webapp will use the one in
its respective WEB-INF/lib (because of child-first, or parent-last, classloading
behavior of webapps).
Jake
On 7/11/2009 6:01 PM, Lucas Vickers wrote:
> Hello,
> Excuse my simple question as I am new to tomcat/log4j.
> I have looked at the mailing list and did some googling but no luck.
>
> What I would like to do is have my tomcat installation use one log file, and
> then my own servlet use a different log file.
>
> ./common/classes/log4j.properties =
>
> log4j.rootLogger=INFO, R
> log4j.appender.R=org.apache.log4j.RollingFileAppender
> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
> log4j.appender.R.MaxFileSize=100MB
> log4j.appender.R.MaxBackupIndex=50
> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>
> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>
> log4j.rootLogger=DEBUG, R
> log4j.appender.R=org.apache.log4j.RollingFileAppender
> log4j.appender.R.File=${catalina.home}/logs/tabs.log
> log4j.appender.R.MaxFileSize=10MB
> log4j.appender.R.MaxBackupIndex=100
> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>
> Ideal result is that my class in /servlets-examples will be in DEBUG level
> and will output to the "tabs.log"
>
> It appears that my servlet-examples is outputting to tomcat.og and is in
> INFO level.
>
> Could anyone please help me figure out what I am missing.
> Many thanks,
> Lucas
>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org
Re: using a different log4j.properties file per classes directory
Posted by Yair Ogen <ya...@gmail.com>.
instead of differntiation based on root logger do it based on different
packages. This way you can easily have package A write to file A with INFO
and package B write to file B at DEBUG.
On Sun, Jul 12, 2009 at 3:01 AM, Lucas Vickers <lu...@gmail.com>wrote:
> Hello,
> Excuse my simple question as I am new to tomcat/log4j.
> I have looked at the mailing list and did some googling but no luck.
>
> What I would like to do is have my tomcat installation use one log file,
> and
> then my own servlet use a different log file.
>
> ./common/classes/log4j.properties =
>
> log4j.rootLogger=INFO, R
> log4j.appender.R=org.apache.log4j.RollingFileAppender
> log4j.appender.R.File=${catalina.home}/logs/tomcat.log
> log4j.appender.R.MaxFileSize=100MB
> log4j.appender.R.MaxBackupIndex=50
> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>
> ./webapps/servlets-examples/WEB-INF/classes/log4j.properties =
>
> log4j.rootLogger=DEBUG, R
> log4j.appender.R=org.apache.log4j.RollingFileAppender
> log4j.appender.R.File=${catalina.home}/logs/tabs.log
> log4j.appender.R.MaxFileSize=10MB
> log4j.appender.R.MaxBackupIndex=100
> log4j.appender.R.layout=org.apache.log4j.PatternLayout
> log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
>
> Ideal result is that my class in /servlets-examples will be in DEBUG level
> and will output to the "tabs.log"
>
> It appears that my servlet-examples is outputting to tomcat.og and is in
> INFO level.
>
> Could anyone please help me figure out what I am missing.
> Many thanks,
> Lucas
>