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 Kevin Kruzich <kk...@mshift.com> on 2010/07/15 19:20:59 UTC

Default Initialization under Tomcat (5, 6)

I was able to get log4j working with syslog without too much trouble
using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
figure out where log4j.properties should go.

tomcat5:

JAVA_OPTS="$JAVA_OPTS
-Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib"

/var/lib/tomcat5/common/lib/log4j.jar
/var/lib/tomcat5/common/classes/log4j.properties

works great!

---

tomcat6:

tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
/usr/bin/java -classpath
:/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 

error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
not a directory -Dcatalina.base=/usr/share/tomcat6
-Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
-Djava.io.tmpdir=/var/cache/tomcat6/temp
-Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
org.apache.catalina.startup.Bootstrap start


/usr/share/tomcat6/lib/log4j.jar
/usr/share/tomcat6/lib/log4j.properties

(and many other locations)

fails, fails...

*?* Do I need a dir like /usr/share/tomcat6/common

These instructions are over 8 years old so I imagine this section, in
particular has changed quite a bit "Default Initialization under Tomcat"


http://logging.apache.org/log4j/1.2/manual.html


---

And lastly, there's this snippet on the Apache website -- is all this
necessary?

http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j

# Download Log4J (v1.2 or later) and place the log4j jar in
$CATALINA_HOME/lib.
# Build or download the additional logging components. See the extras
components documentation for details.
# Replace $CATALINA_HOME/bin/tomcat-juli.jar with
output/extras/tomcat-juli.jar.
# Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
# Delete $CATALINA_BASE/conf/logging.properties to prevent
java.util.logging generating zero length log files.
# Start Tomcat


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


Re: Default Initialization under Tomcat (5, 6)

Posted by Jacob Kjome <ho...@visi.com>.
On Thu, 15 Jul 2010 13:49:06 -0700
  Kevin Kruzich <kk...@mshift.com> wrote:
> 
> > You are going to have to be more precise about what exactly you don't
> > understand about these instructions.  If you follow them, you will see
> > Tomcat logging through Log4j.  I've done it and I know it works.  If you
> > find these instructions a pain in the [you know what], I don't blame
> > you.  But the cause of the pain has nothing to do with Log4j and
> > everything to do with Tomcat.  If you have complaints, I encourage you
> > to send them to the Tomcat team.
> 
> 
> This right here. Textbook case:
> 
> >> # Build or download the additional logging components. See the extras
> >> components documentation for details. 
> (http://tomcat.apache.org/tomcat-6.0-doc/extras.html)
> 

Ok, this is my last comment on this.  Again this is a TOMCAT issue not a Log4j 
issue.  Please send further questions about this process to Tomcat.

> 
> There is no documentation here or in the resultant links that mention 
>anything about log4j. Also "A number of additional third party components may 
>be used with Apache Tomcat. "
> 
> may be used means I don't want to use them.
> 

I read the instructions.  They say to build or download.....
http://tomcat.apache.org/tomcat-6.0-doc/extras.html#Downloading

Those instructions pointed me to (they don't link to it, they just say the 
Tomcat download page, which this is)....
http://tomcat.apache.org/download-60.cgi

Then they say to select "Browse" form the "Quick Navigation" links.  The 
specific link will change depending on the mirror being used, but the link 
provided to me was....
http://apache.ziply.com/tomcat/tomcat-6/v6.0.28

Then they say to go into the "bin/extras" directory and download the following 
components....
http://apache.ziply.com/tomcat/tomcat-6/v6.0.28/bin/extras/tomcat-juli.jar
http://apache.ziply.com/tomcat/tomcat-6/v6.0.28/bin/extras/tomcat-juli-adapters.jar

Now that you have these, re-read the instructions provided at...
http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j

> 
> This section is absent from the 5.5 docs. Is it entirely necessary?
> 

The logging system they use in Tomcat6 does not apply to Tomcat5.5.  It is 
new, hence the reason why you didn't have to bother with this in Tomcat 5.5.

> ---
> 
> I'm understanding there are mainly 2x things necessary for log4j to work: 
>log4j.jar and log4j.properties. Just an hour ago I dropped both of these into 
>a tomcat5 install and boom, it works. tomcat6... I've moved the files around 
>to at least 5 different places and nothing.
> 

Because, again, you didn't follow the instructions which I have exhaustively 
detailed above. 

>Fortunately I'm prototyping on virtual machines and I can do an install from 
>scratch quickly. I'm doing a new tomcat6 from scratch (centos 5, jpackage 
>tomcat6) --so we'll see how this one goes.
> 
> This is mainly about getting central logging. Whether it's from apps, 
>servers, or both... I don't care right now. I just need something feeding a 
>file, feeding syslog.
> 
> 

For future reference, please read the documentation first and follow the 
instructions provided.  Keep in mind that your question is really off-topic.  
It has to do with Tomcat, not Log4j.  I'm about the only person on this list 
that would bother answering a Tomcat question here.  I only do it because I 
understand Tomcat6 logging and figured I could be of help.  What I did not 
imagine that I'd have to do is spell out another product's documentation for 
you.  I will not be doing such a thing in the future.  We support Log4j here, 
not Tomcat.


Jake

> 
> 
> 
> Jacob Kjome said the following on 7/15/10 1:20 PM:
>> On Thu, 15 Jul 2010 11:09:37 -0700
>>  Kevin Kruzich <kk...@mshift.com> wrote:
>>>
>>>
>>> Thanks Jake -- My /etc/tomcat6/catalina.properties:
>>>
>>> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar 
>>>
>>>
>> 
>> That works too
>> 
>>> --but I'm unable to see where ${catalina.base} and ${catalina.home} 
>>> are defined. That isn't so immediately relevant though.
>>>
>> 
>> These can be set in your environment as the following OS system 
>> properties....
>> 
>> CATALINA_BASE
>> CATALINA_HOME
>> 
>> The Tomcat scripts pick these up and uses them to set the following Java 
>> system properties....
>> 
>> catalina.base
>> catalina.home
>> 
>> 
>> The scripts will use defaults if you don't provide them.  And 
>> catalina.base will be set to the value of catalina.home if not not 
>> explicitly set to something else.
>> 
>>> At this point I have no preference as to whether the logging is server 
>>> or app. I just want *something* --and I had that *something* with 
>>> tomcat5 without too much trouble. 
>> 
>> But what that "something" is is an important question which you have yet 
>> to answer.  Do you want to see logging from your own application or from 
>> Tomcat?  What you have set up so far is sufficient for the former, but 
>> not the latter.
>> 
>> Keep in mind, this is *not* a Log4j question, but a Tomcat question.  
>>  From Log4j standpoint, auto-configuration is working.  I will give you 
>> a bit further advice here, but if you want more you need to re-read the 
>> introduction of the Tomcat Logging page, not just the Log4j specific 
>> instructions and/or contact the Tomcat user list.
>> 
>>> What's most important to me is that I can see something running 
>>> through syslog.
>>>
>> 
>> "syslog" seems to imply you want Tomcat logging.  If you read a bit more 
>> closely, you'll understand why you see no logging from Tomcat.  
>> Specifically....
>> 
>> [begin quote]
>> By default, only java.util.logging is available for the logs generated  by
>>       the Tomcat internal loggers, as Tomcat uses a package renamed
>> commons
>>       logging implementation which is hardcoded to use
>> java.util.logging. Use of
>>       alternative logging frameworks requires building or downloading
>> the
>>       extras
>>  components which include a full
>>       commons-logging implementation. Instructions for configuring the
>> extras
>>       components to enable log4j to be used for Tomcat's internal
>> logging may be
>>       found below.
>> 
>> [end quote]
>> 
>>> This isn't working for me:
>>>
>>> > /usr/share/tomcat6/lib/log4j.jar
>>> > /usr/share/tomcat6/lib/log4j.properties
>>>
>> 
>> Actually, it is, from Log4j's perspective.  The logger repository is 
>> getting auto-configured using the log4j.properties you provided.  That 
>> you see no Tomcat logging is because you have not yet followed the 
>> instructions below.
>> 
>>>
>>> ...and I wonder if these instructions are why. If these instructions 
>>> require precise applicaton then what do these instructions mean?
>>>
>> 
>> You are going to have to be more precise about what exactly you don't 
>> understand about these instructions.  If you follow them, you will see 
>> Tomcat logging through Log4j.  I've done it and I know it works.  If you 
>> find these instructions a pain in the [you know what], I don't blame 
>> you.  But the cause of the pain has nothing to do with Log4j and 
>> everything to do with Tomcat.  If you have complaints, I encourage you 
>> to send them to the Tomcat team.
>> 
>>> >> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>> >>
>>> >> # Download Log4J (v1.2 or later) and place the log4j jar in
>>> >> $CATALINA_HOME/lib.
>>> >> # Build or download the additional logging components. See the extras
>>> >> components documentation for details.
>>> >> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>>> >> output/extras/tomcat-juli.jar.
>>> >> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>>> >> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>>> >> java.util.logging generating zero length log files.
>>> >> # Start Tomcat
>>>
>> 
>> 
>> Jake
>> 
>>>
>>>
>>> Jacob Kjome said the following on 7/15/10 10:40 AM:
>>>> Tomcat's catalina.properties contains...
>>>>
>>>> common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
>>>>
>>>> This means that, assuming that "/usr/share/tomcat6" is the path set 
>>>> for ${catalina.home}, the following should work fine...
>>>>
>>>> /usr/share/tomcat6/lib/log4j.jar
>>>> /usr/share/tomcat6/lib/log4j.properties
>>>>
>>>>
>>>> That said, is you purpose application logging or server logging (or 
>>>> both)?
>>>>
>>>> For application logging, this should be fine, though you'll share a 
>>>> logger repository with all apps under Tomcat (unless you include 
>>>> log4j.jar in WEB-INF/lib and log4j.properties or log4j.xml in 
>>>> WEB-INF/classes ....or you use a logger repository selector).
>>>>
>>>> For server logging, you need to following the instructions you 
>>>> already referenced....
>>>>
>>>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>>>
>>>>
>>>> Jake
>>>>
>>>> On Thu, 15 Jul 2010 10:20:59 -0700
>>>>  Kevin Kruzich <kk...@mshift.com> wrote:
>>>>>
>>>>> I was able to get log4j working with syslog without too much trouble
>>>>> using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
>>>>> figure out where log4j.properties should go.
>>>>>
>>>>> tomcat5:
>>>>>
>>>>> JAVA_OPTS="$JAVA_OPTS
>>>>> -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib" 
>>>>>
>>>>>
>>>>> /var/lib/tomcat5/common/lib/log4j.jar
>>>>> /var/lib/tomcat5/common/classes/log4j.properties
>>>>>
>>>>> works great!
>>>>>
>>>>> ---
>>>>>
>>>>> tomcat6:
>>>>>
>>>>> tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
>>>>> /usr/bin/java -classpath
>>>>> :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 
>>>>> error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
>>>>> not a directory -Dcatalina.base=/usr/share/tomcat6
>>>>> -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
>>>>> -Djava.io.tmpdir=/var/cache/tomcat6/temp
>>>>> -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties 
>>>>>
>>>>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>>>>> org.apache.catalina.startup.Bootstrap start
>>>>>
>>>>>
>>>>> /usr/share/tomcat6/lib/log4j.jar
>>>>> /usr/share/tomcat6/lib/log4j.properties
>>>>>
>>>>> (and many other locations)
>>>>>
>>>>> fails, fails...
>>>>>
>>>>> *?* Do I need a dir like /usr/share/tomcat6/common
>>>>>
>>>>> These instructions are over 8 years old so I imagine this section, in
>>>>> particular has changed quite a bit "Default Initialization under 
>>>>> Tomcat"
>>>>>
>>>>>
>>>>> http://logging.apache.org/log4j/1.2/manual.html
>>>>>
>>>>>
>>>>> ---
>>>>>
>>>>> And lastly, there's this snippet on the Apache website -- is all this
>>>>> necessary?
>>>>>
>>>>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>>>>
>>>>> # Download Log4J (v1.2 or later) and place the log4j jar in
>>>>> $CATALINA_HOME/lib.
>>>>> # Build or download the additional logging components. See the extras
>>>>> components documentation for details.
>>>>> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>>>>> output/extras/tomcat-juli.jar.
>>>>> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>>>>> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>>>>> java.util.logging generating zero length log files.
>>>>> # Start Tomcat
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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
>>>>
>>>
>>> -- 
>>>
>>> Kevin Kruzich - Network and Systems Administrator
>>> kkruzich@mshift.com
>>>
>>> office: 510-933-5912
>>> mobile: 408-823-9549
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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
>> 
> 
> -- 
> 
> Kevin Kruzich - Network and Systems Administrator
> kkruzich@mshift.com
> 
> office: 510-933-5912
> mobile: 408-823-9549
> 
> 
> ---------------------------------------------------------------------
> 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: Default Initialization under Tomcat (5, 6)

Posted by Kevin Kruzich <kk...@mshift.com>.
 > You are going to have to be more precise about what exactly you don't
 > understand about these instructions.  If you follow them, you will see
 > Tomcat logging through Log4j.  I've done it and I know it works.  If you
 > find these instructions a pain in the [you know what], I don't blame
 > you.  But the cause of the pain has nothing to do with Log4j and
 > everything to do with Tomcat.  If you have complaints, I encourage you
 > to send them to the Tomcat team.


This right here. Textbook case:

 >> # Build or download the additional logging components. See the extras
 >> components documentation for details. 
(http://tomcat.apache.org/tomcat-6.0-doc/extras.html)


There is no documentation here or in the resultant links that mention 
anything about log4j. Also "A number of additional third party 
components may be used with Apache Tomcat. "

may be used means I don't want to use them.


This section is absent from the 5.5 docs. Is it entirely necessary?

---

I'm understanding there are mainly 2x things necessary for log4j to 
work: log4j.jar and log4j.properties. Just an hour ago I dropped both of 
these into a tomcat5 install and boom, it works. tomcat6... I've moved 
the files around to at least 5 different places and nothing.

Fortunately I'm prototyping on virtual machines and I can do an install 
from scratch quickly. I'm doing a new tomcat6 from scratch (centos 5, 
jpackage tomcat6) --so we'll see how this one goes.

This is mainly about getting central logging. Whether it's from apps, 
servers, or both... I don't care right now. I just need something 
feeding a file, feeding syslog.





Jacob Kjome said the following on 7/15/10 1:20 PM:
> On Thu, 15 Jul 2010 11:09:37 -0700
>  Kevin Kruzich <kk...@mshift.com> wrote:
>>
>>
>> Thanks Jake -- My /etc/tomcat6/catalina.properties:
>>
>> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar 
>>
>>
> 
> That works too
> 
>> --but I'm unable to see where ${catalina.base} and ${catalina.home} 
>> are defined. That isn't so immediately relevant though.
>>
> 
> These can be set in your environment as the following OS system 
> properties....
> 
> CATALINA_BASE
> CATALINA_HOME
> 
> The Tomcat scripts pick these up and uses them to set the following Java 
> system properties....
> 
> catalina.base
> catalina.home
> 
> 
> The scripts will use defaults if you don't provide them.  And 
> catalina.base will be set to the value of catalina.home if not not 
> explicitly set to something else.
> 
>> At this point I have no preference as to whether the logging is server 
>> or app. I just want *something* --and I had that *something* with 
>> tomcat5 without too much trouble. 
> 
> But what that "something" is is an important question which you have yet 
> to answer.  Do you want to see logging from your own application or from 
> Tomcat?  What you have set up so far is sufficient for the former, but 
> not the latter.
> 
> Keep in mind, this is *not* a Log4j question, but a Tomcat question.  
>  From Log4j standpoint, auto-configuration is working.  I will give you 
> a bit further advice here, but if you want more you need to re-read the 
> introduction of the Tomcat Logging page, not just the Log4j specific 
> instructions and/or contact the Tomcat user list.
> 
>> What's most important to me is that I can see something running 
>> through syslog.
>>
> 
> "syslog" seems to imply you want Tomcat logging.  If you read a bit more 
> closely, you'll understand why you see no logging from Tomcat.  
> Specifically....
> 
> [begin quote]
> By default, only java.util.logging is available for the logs generated  by
>       the Tomcat internal loggers, as Tomcat uses a package renamed
> commons
>       logging implementation which is hardcoded to use
> java.util.logging. Use of
>       alternative logging frameworks requires building or downloading
> the
>       extras
>  components which include a full
>       commons-logging implementation. Instructions for configuring the
> extras
>       components to enable log4j to be used for Tomcat's internal
> logging may be
>       found below.
> 
> [end quote]
> 
>> This isn't working for me:
>>
>> > /usr/share/tomcat6/lib/log4j.jar
>> > /usr/share/tomcat6/lib/log4j.properties
>>
> 
> Actually, it is, from Log4j's perspective.  The logger repository is 
> getting auto-configured using the log4j.properties you provided.  That 
> you see no Tomcat logging is because you have not yet followed the 
> instructions below.
> 
>>
>> ...and I wonder if these instructions are why. If these instructions 
>> require precise applicaton then what do these instructions mean?
>>
> 
> You are going to have to be more precise about what exactly you don't 
> understand about these instructions.  If you follow them, you will see 
> Tomcat logging through Log4j.  I've done it and I know it works.  If you 
> find these instructions a pain in the [you know what], I don't blame 
> you.  But the cause of the pain has nothing to do with Log4j and 
> everything to do with Tomcat.  If you have complaints, I encourage you 
> to send them to the Tomcat team.
> 
>> >> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>> >>
>> >> # Download Log4J (v1.2 or later) and place the log4j jar in
>> >> $CATALINA_HOME/lib.
>> >> # Build or download the additional logging components. See the extras
>> >> components documentation for details.
>> >> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>> >> output/extras/tomcat-juli.jar.
>> >> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>> >> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>> >> java.util.logging generating zero length log files.
>> >> # Start Tomcat
>>
> 
> 
> Jake
> 
>>
>>
>> Jacob Kjome said the following on 7/15/10 10:40 AM:
>>> Tomcat's catalina.properties contains...
>>>
>>> common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
>>>
>>> This means that, assuming that "/usr/share/tomcat6" is the path set 
>>> for ${catalina.home}, the following should work fine...
>>>
>>> /usr/share/tomcat6/lib/log4j.jar
>>> /usr/share/tomcat6/lib/log4j.properties
>>>
>>>
>>> That said, is you purpose application logging or server logging (or 
>>> both)?
>>>
>>> For application logging, this should be fine, though you'll share a 
>>> logger repository with all apps under Tomcat (unless you include 
>>> log4j.jar in WEB-INF/lib and log4j.properties or log4j.xml in 
>>> WEB-INF/classes ....or you use a logger repository selector).
>>>
>>> For server logging, you need to following the instructions you 
>>> already referenced....
>>>
>>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>>
>>>
>>> Jake
>>>
>>> On Thu, 15 Jul 2010 10:20:59 -0700
>>>  Kevin Kruzich <kk...@mshift.com> wrote:
>>>>
>>>> I was able to get log4j working with syslog without too much trouble
>>>> using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
>>>> figure out where log4j.properties should go.
>>>>
>>>> tomcat5:
>>>>
>>>> JAVA_OPTS="$JAVA_OPTS
>>>> -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib" 
>>>>
>>>>
>>>> /var/lib/tomcat5/common/lib/log4j.jar
>>>> /var/lib/tomcat5/common/classes/log4j.properties
>>>>
>>>> works great!
>>>>
>>>> ---
>>>>
>>>> tomcat6:
>>>>
>>>> tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
>>>> /usr/bin/java -classpath
>>>> :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 
>>>> error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
>>>> not a directory -Dcatalina.base=/usr/share/tomcat6
>>>> -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
>>>> -Djava.io.tmpdir=/var/cache/tomcat6/temp
>>>> -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties 
>>>>
>>>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>>>> org.apache.catalina.startup.Bootstrap start
>>>>
>>>>
>>>> /usr/share/tomcat6/lib/log4j.jar
>>>> /usr/share/tomcat6/lib/log4j.properties
>>>>
>>>> (and many other locations)
>>>>
>>>> fails, fails...
>>>>
>>>> *?* Do I need a dir like /usr/share/tomcat6/common
>>>>
>>>> These instructions are over 8 years old so I imagine this section, in
>>>> particular has changed quite a bit "Default Initialization under 
>>>> Tomcat"
>>>>
>>>>
>>>> http://logging.apache.org/log4j/1.2/manual.html
>>>>
>>>>
>>>> ---
>>>>
>>>> And lastly, there's this snippet on the Apache website -- is all this
>>>> necessary?
>>>>
>>>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>>>
>>>> # Download Log4J (v1.2 or later) and place the log4j jar in
>>>> $CATALINA_HOME/lib.
>>>> # Build or download the additional logging components. See the extras
>>>> components documentation for details.
>>>> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>>>> output/extras/tomcat-juli.jar.
>>>> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>>>> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>>>> java.util.logging generating zero length log files.
>>>> # Start Tomcat
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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
>>>
>>
>> -- 
>>
>> Kevin Kruzich - Network and Systems Administrator
>> kkruzich@mshift.com
>>
>> office: 510-933-5912
>> mobile: 408-823-9549
>>
>>
>> ---------------------------------------------------------------------
>> 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
> 

-- 

Kevin Kruzich - Network and Systems Administrator
kkruzich@mshift.com

office: 510-933-5912
mobile: 408-823-9549


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


Re: Default Initialization under Tomcat (5, 6)

Posted by Jacob Kjome <ho...@visi.com>.
On Thu, 15 Jul 2010 11:09:37 -0700
  Kevin Kruzich <kk...@mshift.com> wrote:
> 
> 
> Thanks Jake -- My /etc/tomcat6/catalina.properties:
> 
> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
> 

That works too

> --but I'm unable to see where ${catalina.base} and ${catalina.home} are 
>defined. That isn't so immediately relevant though.
> 

These can be set in your environment as the following OS system properties....

CATALINA_BASE
CATALINA_HOME

The Tomcat scripts pick these up and uses them to set the following Java 
system properties....

catalina.base
catalina.home


The scripts will use defaults if you don't provide them.  And catalina.base 
will be set to the value of catalina.home if not not explicitly set to 
something else.

> At this point I have no preference as to whether the logging is server or 
>app. I just want *something* --and I had that *something* with tomcat5 
>without too much trouble. 

But what that "something" is is an important question which you have yet to 
answer.  Do you want to see logging from your own application or from Tomcat?  
What you have set up so far is sufficient for the former, but not the latter.

Keep in mind, this is *not* a Log4j question, but a Tomcat question.  From 
Log4j standpoint, auto-configuration is working.  I will give you a bit 
further advice here, but if you want more you need to re-read the introduction 
of the Tomcat Logging page, not just the Log4j specific instructions and/or 
contact the Tomcat user list.

> What's most important to me is that I can see 
>something running through syslog.
> 

"syslog" seems to imply you want Tomcat logging.  If you read a bit more 
closely, you'll understand why you see no logging from Tomcat.  
Specifically....

[begin quote]
By default, only java.util.logging is available for the logs generated  by
       the Tomcat internal loggers, as Tomcat uses a package renamed
commons
       logging implementation which is hardcoded to use
java.util.logging. Use of
       alternative logging frameworks requires building or downloading
the
       extras
  components which include a full
       commons-logging implementation. Instructions for configuring the
extras
       components to enable log4j to be used for Tomcat's internal
logging may be
       found below.

[end quote]

> This isn't working for me:
> 
> > /usr/share/tomcat6/lib/log4j.jar
> > /usr/share/tomcat6/lib/log4j.properties
> 

Actually, it is, from Log4j's perspective.  The logger repository is getting 
auto-configured using the log4j.properties you provided.  That you see no 
Tomcat logging is because you have not yet followed the instructions below.

> 
> ...and I wonder if these instructions are why. If these instructions require 
>precise applicaton then what do these instructions mean?
> 

You are going to have to be more precise about what exactly you don't 
understand about these instructions.  If you follow them, you will see Tomcat 
logging through Log4j.  I've done it and I know it works.  If you find these 
instructions a pain in the [you know what], I don't blame you.  But the cause 
of the pain has nothing to do with Log4j and everything to do with Tomcat.  If 
you have complaints, I encourage you to send them to the Tomcat team.

> >> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
> >>
> >> # Download Log4J (v1.2 or later) and place the log4j jar in
> >> $CATALINA_HOME/lib.
> >> # Build or download the additional logging components. See the extras
> >> components documentation for details.
> >> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
> >> output/extras/tomcat-juli.jar.
> >> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
> >> # Delete $CATALINA_BASE/conf/logging.properties to prevent
> >> java.util.logging generating zero length log files.
> >> # Start Tomcat
> 


Jake

> 
> 
> Jacob Kjome said the following on 7/15/10 10:40 AM:
>> Tomcat's catalina.properties contains...
>> 
>> common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
>> 
>> This means that, assuming that "/usr/share/tomcat6" is the path set for 
>> ${catalina.home}, the following should work fine...
>> 
>> /usr/share/tomcat6/lib/log4j.jar
>> /usr/share/tomcat6/lib/log4j.properties
>> 
>> 
>> That said, is you purpose application logging or server logging (or both)?
>> 
>> For application logging, this should be fine, though you'll share a 
>> logger repository with all apps under Tomcat (unless you include 
>> log4j.jar in WEB-INF/lib and log4j.properties or log4j.xml in 
>> WEB-INF/classes ....or you use a logger repository selector).
>> 
>> For server logging, you need to following the instructions you already 
>> referenced....
>> 
>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>> 
>> 
>> Jake
>> 
>> On Thu, 15 Jul 2010 10:20:59 -0700
>>  Kevin Kruzich <kk...@mshift.com> wrote:
>>>
>>> I was able to get log4j working with syslog without too much trouble
>>> using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
>>> figure out where log4j.properties should go.
>>>
>>> tomcat5:
>>>
>>> JAVA_OPTS="$JAVA_OPTS
>>> -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib"
>>>
>>> /var/lib/tomcat5/common/lib/log4j.jar
>>> /var/lib/tomcat5/common/classes/log4j.properties
>>>
>>> works great!
>>>
>>> ---
>>>
>>> tomcat6:
>>>
>>> tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
>>> /usr/bin/java -classpath
>>> :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 
>>> error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
>>> not a directory -Dcatalina.base=/usr/share/tomcat6
>>> -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
>>> -Djava.io.tmpdir=/var/cache/tomcat6/temp
>>> -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties 
>>>
>>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>>> org.apache.catalina.startup.Bootstrap start
>>>
>>>
>>> /usr/share/tomcat6/lib/log4j.jar
>>> /usr/share/tomcat6/lib/log4j.properties
>>>
>>> (and many other locations)
>>>
>>> fails, fails...
>>>
>>> *?* Do I need a dir like /usr/share/tomcat6/common
>>>
>>> These instructions are over 8 years old so I imagine this section, in
>>> particular has changed quite a bit "Default Initialization under Tomcat"
>>>
>>>
>>> http://logging.apache.org/log4j/1.2/manual.html
>>>
>>>
>>> ---
>>>
>>> And lastly, there's this snippet on the Apache website -- is all this
>>> necessary?
>>>
>>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>>
>>> # Download Log4J (v1.2 or later) and place the log4j jar in
>>> $CATALINA_HOME/lib.
>>> # Build or download the additional logging components. See the extras
>>> components documentation for details.
>>> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>>> output/extras/tomcat-juli.jar.
>>> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>>> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>>> java.util.logging generating zero length log files.
>>> # Start Tomcat
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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
>> 
> 
> -- 
> 
> Kevin Kruzich - Network and Systems Administrator
> kkruzich@mshift.com
> 
> office: 510-933-5912
> mobile: 408-823-9549
> 
> 
> ---------------------------------------------------------------------
> 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: Default Initialization under Tomcat (5, 6)

Posted by Kevin Kruzich <kk...@mshift.com>.

Thanks Jake -- My /etc/tomcat6/catalina.properties:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar

--but I'm unable to see where ${catalina.base} and ${catalina.home} are 
defined. That isn't so immediately relevant though.

At this point I have no preference as to whether the logging is server 
or app. I just want *something* --and I had that *something* with 
tomcat5 without too much trouble. What's most important to me is that I 
can see something running through syslog.

This isn't working for me:

 > /usr/share/tomcat6/lib/log4j.jar
 > /usr/share/tomcat6/lib/log4j.properties


...and I wonder if these instructions are why. If these instructions 
require precise applicaton then what do these instructions mean?

 >> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
 >>
 >> # Download Log4J (v1.2 or later) and place the log4j jar in
 >> $CATALINA_HOME/lib.
 >> # Build or download the additional logging components. See the extras
 >> components documentation for details.
 >> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
 >> output/extras/tomcat-juli.jar.
 >> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
 >> # Delete $CATALINA_BASE/conf/logging.properties to prevent
 >> java.util.logging generating zero length log files.
 >> # Start Tomcat



Jacob Kjome said the following on 7/15/10 10:40 AM:
> Tomcat's catalina.properties contains...
> 
> common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
> 
> This means that, assuming that "/usr/share/tomcat6" is the path set for 
> ${catalina.home}, the following should work fine...
> 
> /usr/share/tomcat6/lib/log4j.jar
> /usr/share/tomcat6/lib/log4j.properties
> 
> 
> That said, is you purpose application logging or server logging (or both)?
> 
> For application logging, this should be fine, though you'll share a 
> logger repository with all apps under Tomcat (unless you include 
> log4j.jar in WEB-INF/lib and log4j.properties or log4j.xml in 
> WEB-INF/classes ....or you use a logger repository selector).
> 
> For server logging, you need to following the instructions you already 
> referenced....
> 
> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
> 
> 
> Jake
> 
> On Thu, 15 Jul 2010 10:20:59 -0700
>  Kevin Kruzich <kk...@mshift.com> wrote:
>>
>> I was able to get log4j working with syslog without too much trouble
>> using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
>> figure out where log4j.properties should go.
>>
>> tomcat5:
>>
>> JAVA_OPTS="$JAVA_OPTS
>> -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib"
>>
>> /var/lib/tomcat5/common/lib/log4j.jar
>> /var/lib/tomcat5/common/classes/log4j.properties
>>
>> works great!
>>
>> ---
>>
>> tomcat6:
>>
>> tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
>> /usr/bin/java -classpath
>> :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 
>> error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
>> not a directory -Dcatalina.base=/usr/share/tomcat6
>> -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
>> -Djava.io.tmpdir=/var/cache/tomcat6/temp
>> -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties 
>>
>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
>> org.apache.catalina.startup.Bootstrap start
>>
>>
>> /usr/share/tomcat6/lib/log4j.jar
>> /usr/share/tomcat6/lib/log4j.properties
>>
>> (and many other locations)
>>
>> fails, fails...
>>
>> *?* Do I need a dir like /usr/share/tomcat6/common
>>
>> These instructions are over 8 years old so I imagine this section, in
>> particular has changed quite a bit "Default Initialization under Tomcat"
>>
>>
>> http://logging.apache.org/log4j/1.2/manual.html
>>
>>
>> ---
>>
>> And lastly, there's this snippet on the Apache website -- is all this
>> necessary?
>>
>> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
>>
>> # Download Log4J (v1.2 or later) and place the log4j jar in
>> $CATALINA_HOME/lib.
>> # Build or download the additional logging components. See the extras
>> components documentation for details.
>> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
>> output/extras/tomcat-juli.jar.
>> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
>> # Delete $CATALINA_BASE/conf/logging.properties to prevent
>> java.util.logging generating zero length log files.
>> # Start Tomcat
>>
>>
>> ---------------------------------------------------------------------
>> 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
> 

-- 

Kevin Kruzich - Network and Systems Administrator
kkruzich@mshift.com

office: 510-933-5912
mobile: 408-823-9549


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


Re: Default Initialization under Tomcat (5, 6)

Posted by Jacob Kjome <ho...@visi.com>.
Tomcat's catalina.properties contains...

common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar

This means that, assuming that "/usr/share/tomcat6" is the path set for 
${catalina.home}, the following should work fine...

/usr/share/tomcat6/lib/log4j.jar
/usr/share/tomcat6/lib/log4j.properties


That said, is you purpose application logging or server logging (or both)?

For application logging, this should be fine, though you'll share a logger 
repository with all apps under Tomcat (unless you include log4j.jar in 
WEB-INF/lib and log4j.properties or log4j.xml in WEB-INF/classes ....or you 
use a logger repository selector).

For server logging, you need to following the instructions you already 
referenced....

http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j


Jake

On Thu, 15 Jul 2010 10:20:59 -0700
  Kevin Kruzich <kk...@mshift.com> wrote:
> 
> I was able to get log4j working with syslog without too much trouble
> using tomcat5. Yet with tomcat6 I'm having a heck of a time trying to
> figure out where log4j.properties should go.
> 
> tomcat5:
> 
> JAVA_OPTS="$JAVA_OPTS
> -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib:$CATALINA_HOME/common/lib"
> 
> /var/lib/tomcat5/common/lib/log4j.jar
> /var/lib/tomcat5/common/classes/log4j.properties
> 
> works great!
> 
> ---
> 
> tomcat6:
> 
> tomcat    9995  0.5  1.2 649772 24900 ?        Sl   21:01   0:03
> /usr/bin/java -classpath
> :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/bin/build-classpath: 
> error: JVM_LIBDIR /usr/lib/jvm-exports/java-1.6.0 does not exist or is
> not a directory -Dcatalina.base=/usr/share/tomcat6
> -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs=
> -Djava.io.tmpdir=/var/cache/tomcat6/temp
> -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties
> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
> org.apache.catalina.startup.Bootstrap start
> 
> 
> /usr/share/tomcat6/lib/log4j.jar
> /usr/share/tomcat6/lib/log4j.properties
> 
> (and many other locations)
> 
> fails, fails...
> 
> *?* Do I need a dir like /usr/share/tomcat6/common
> 
> These instructions are over 8 years old so I imagine this section, in
> particular has changed quite a bit "Default Initialization under Tomcat"
> 
> 
> http://logging.apache.org/log4j/1.2/manual.html
> 
> 
> ---
> 
> And lastly, there's this snippet on the Apache website -- is all this
> necessary?
> 
> http://tomcat.apache.org/tomcat-6.0-doc/logging.html#log4j
> 
> # Download Log4J (v1.2 or later) and place the log4j jar in
> $CATALINA_HOME/lib.
> # Build or download the additional logging components. See the extras
> components documentation for details.
> # Replace $CATALINA_HOME/bin/tomcat-juli.jar with
> output/extras/tomcat-juli.jar.
> # Place output/extras/tomcat-juli-adapters.jar in $CATALINA_HOME/lib.
> # Delete $CATALINA_BASE/conf/logging.properties to prevent
> java.util.logging generating zero length log files.
> # Start Tomcat
> 
> 
> ---------------------------------------------------------------------
> 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