Re: Why There isn't a Log File?

2011-04-01 Thread Jacob Kjome

You can use an XML config file just fine under Tomcat (with caveats... see 
below).
 I see two issues with your current XML config, though

1.  The doctype should be...

!DOCTYPE log4j:configuration SYSTEM log4j.dtd

2.  The path in...

param name=File value=c:\myproj\myapp\logs\mylog.log /

...should be either...

param name=File value=c:\\myproj\\myapp\\logs\\mylog.log /

...or...

param name=File value=c:/myproj/myapp/logs/mylog.log /


I mentioned a caveat above about using XML config files in Tomcat.  By that, I
mean using it specifically for Tomcat logging, not just general application
logging.  You can, unless you choose to reference Tomcat loggers named using
square brackets, as they are disallowed by the DTD.  For instance, to reference
Tomcat's localhost logger, you'd use...

org.apache.catalina.core.ContainerBase.[Catalina].[localhost]


Using XML, it would be...

logger name=org.apache.catalina.core.ContainerBase.[Catalina].[localhost]
additivity=false
level value=INFO/
appender-ref ref=LOCALHOST/
/logger


But the name doesn't attribute doesn't allow square brackets and the config 
file
fails DTD validation because the name attribute is defined as type ID.  That
said, I think there might be a workaround.  If you use the deprecated category
rather than logger it might work because, for the former, the name attribute
is of type CDATA rather than ID.  So, all you'd have to do is use...

category 
name=org.apache.catalina.core.ContainerBase.[Catalina].[localhost]
additivity=false
level value=INFO/
appender-ref ref=LOCALHOST/
/category


Try that and see if it works.


Jake


On 3/30/2011 11:15 AM, Cindy Wong wrote:
 To answer my own question, according to Tomcat document, the problem is
 with TC. I need to use the property configuration file format instead.
 
 
 I have used log4j before with the property file configuration. For this
 new project, I have the XML configuration. The console output seems to be
 fine. Any changes on log level and layout will reflect on log messages on
 the console right away.

 I, however, can't get any log file for some reasons. To my understanding,
 to use a log file, I need to use the
 log4j-user-subscr...@logging.apache.org class and what is the name is
 important.

 The followings are the xml configuration and the dtd. Can someone tell me
 what is wrong?

 ?xml version=1.0 encoding=UTF-8?
 !-- !DOCTYPE log4j:configuration PUBLIC -//LOGGER log4j.dtd --
 !DOCTYPE log4j:configuration PUBLIC -//log4j/log4j Configuration//EN
 log4j.dtd
 log4j:configuration xmlns:log4j=http://jakarta.apache.org/log4j/;
 !-- log4j:configuration debug=true  --
  !-- Appenders --
  appender name=console class=org.apache.log4j.ConsoleAppender
  param name=Target value=System.out /
  layout class=org.apache.log4j.PatternLayout
  param name=ConversionPattern value=%-5p: %c{1}:%L - 
 %m%n /
  /layout
  /appender

 appender name=file class=org.apache.log4j.RollingFileAppender
  param name=maxFileSize value=100KB /
  param name=maxBackupIndex value=5 /
 param name=File value=c:\myproj\myapp\logs\mylog.log /
 param name=Append value=true /
 layout class=org.apache.log4j.PatternLayout
  param name=ConversionPattern value=%d %-5p [%t] 
 %C{2} (%F:%L)
 - %m%n/
 /layout
 /appender

  !-- Application Loggers --
  logger name=com.mycom.myapp
  level value=debug /
  /logger

  !-- 3rdparty Loggers --
 ...

  !-- Root Logger --
  root
  priority value=warn /
  appender-ref ref=console /
  /root

 /log4j:configuration

 
 ?xml version=1.0 encoding=UTF-8 ?

 !-- A configuration element consists of optional renderer
 elements,appender elements, categories and an optional root
 element. --

 !ELEMENT log4j:configuration (renderer*,
 appender*,(category|logger)*,root?,
categoryFactory?)

 !-- The threshold attribute takes a level value such that all --
 !-- logging statements with a level equal or below this value are --
 !-- disabled. --

 !-- Setting the debug enable the printing of internal log4j logging
 --
 !-- statements.
 --

 !-- By default, debug attribute is null, meaning that we not do touch
 --
 !-- internal log4j logging settings. The null value for the threshold
 --
 !-- attribute can be misleading. The threshold field of a repository
  --
 !-- cannot be set to null. The null value for the threshold attribute
 --
 !-- simply means don't touch the threshold field, the threshold field
 --
 !-- keeps its old value.
 --

 !ATTLIST log4j:configuration
   xmlns:log4j  CDATA #FIXED http://jakarta.apache.org/log4j/;
   threshold(all|debug|info|warn|error|fatal|off|null)
 null
   debug

Re: Why There isn't a Log File?

2011-03-31 Thread Geoffry Roberts
Cindy,

I have successfully run Tomcat using either properties or xml. I was forced
to use xml, when I decided to try use Chainsaw. But it worked.

On Mar 30, 2011 1:15 PM, Cindy Wong cw...@pu-gong-ying.info wrote:

To answer my own question, according to Tomcat document, the problem is
with TC. I need to use the property configuration file format instead.



 I have used log4j before with the property file configuration. For this
 new project, I have th...
 
 Spam/Virus scanning by CanIt Pro

 For more information see
 http://www.kgbinternet.com/SpamFilter.htm

 To control your spam filter, log in at
 http://filter.kgbinternet.com





-
To unsubscribe, e-mail: l...


Re: Why There isn't a Log File?

2011-03-30 Thread Cindy Wong
To answer my own question, according to Tomcat document, the problem is
with TC. I need to use the property configuration file format instead.


 I have used log4j before with the property file configuration. For this
 new project, I have the XML configuration. The console output seems to be
 fine. Any changes on log level and layout will reflect on log messages on
 the console right away.

 I, however, can't get any log file for some reasons. To my understanding,
 to use a log file, I need to use the
 log4j-user-subscr...@logging.apache.org class and what is the name is
 important.

 The followings are the xml configuration and the dtd. Can someone tell me
 what is wrong?

 ?xml version=1.0 encoding=UTF-8?
 !-- !DOCTYPE log4j:configuration PUBLIC -//LOGGER log4j.dtd --
 !DOCTYPE log4j:configuration PUBLIC -//log4j/log4j Configuration//EN
 log4j.dtd
 log4j:configuration xmlns:log4j=http://jakarta.apache.org/log4j/;
 !-- log4j:configuration debug=true  --
   !-- Appenders --
   appender name=console class=org.apache.log4j.ConsoleAppender
   param name=Target value=System.out /
   layout class=org.apache.log4j.PatternLayout
   param name=ConversionPattern value=%-5p: %c{1}:%L - 
 %m%n /
   /layout
   /appender

 appender name=file class=org.apache.log4j.RollingFileAppender
   param name=maxFileSize value=100KB /
   param name=maxBackupIndex value=5 /
 param name=File value=c:\myproj\myapp\logs\mylog.log /
 param name=Append value=true /
 layout class=org.apache.log4j.PatternLayout
   param name=ConversionPattern value=%d %-5p [%t] 
 %C{2} (%F:%L)
 - %m%n/
 /layout
 /appender

   !-- Application Loggers --
   logger name=com.mycom.myapp
   level value=debug /
   /logger

   !-- 3rdparty Loggers --
 ...

   !-- Root Logger --
   root
   priority value=warn /
   appender-ref ref=console /
   /root

 /log4j:configuration

 
 ?xml version=1.0 encoding=UTF-8 ?

 !-- A configuration element consists of optional renderer
 elements,appender elements, categories and an optional root
 element. --

 !ELEMENT log4j:configuration (renderer*,
 appender*,(category|logger)*,root?,
categoryFactory?)

 !-- The threshold attribute takes a level value such that all --
 !-- logging statements with a level equal or below this value are --
 !-- disabled. --

 !-- Setting the debug enable the printing of internal log4j logging
 --
 !-- statements.
 --

 !-- By default, debug attribute is null, meaning that we not do touch
 --
 !-- internal log4j logging settings. The null value for the threshold
 --
 !-- attribute can be misleading. The threshold field of a repository  --
 !-- cannot be set to null. The null value for the threshold attribute
 --
 !-- simply means don't touch the threshold field, the threshold field
 --
 !-- keeps its old value.
 --

 !ATTLIST log4j:configuration
   xmlns:log4j  CDATA #FIXED http://jakarta.apache.org/log4j/;
   threshold(all|debug|info|warn|error|fatal|off|null)
 null
   debug(true|false|null)  null


 !-- renderer elements allow the user to customize the conversion of  --
 !-- message objects to String.   --

 !ELEMENT renderer EMPTY
 !ATTLIST renderer
   renderedClass  CDATA #REQUIRED
   renderingClass CDATA #REQUIRED


 !-- Appenders must have a name and a class. --
 !-- Appenders may contain an error handler, a layout, optional parameters
 --
 !-- and filters. They may also reference (or include) other appenders.
 --
 !ELEMENT appender (errorHandler?, param*, layout?, filter*,
 appender-ref*)
 !ATTLIST appender
   nameID  #REQUIRED
   class   CDATA   #REQUIRED


 !ELEMENT layout (param*)
 !ATTLIST layout
   class   CDATA   #REQUIRED


 !ELEMENT filter (param*)
 !ATTLIST filter
   class   CDATA   #REQUIRED


 !-- ErrorHandlers can be of any class. They can admit any number of --
 !-- parameters. --

 !ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)
 !ATTLIST errorHandler
classCDATA   #REQUIRED


 !ELEMENT root-ref EMPTY

 !ELEMENT logger-ref EMPTY
 !ATTLIST logger-ref
   ref IDREF #REQUIRED


 !ELEMENT param EMPTY
 !ATTLIST param
   nameCDATA   #REQUIRED
   value   CDATA   #REQUIRED



 !-- The priority class is org.apache.log4j.Level by default --
 !ELEMENT priority (param*)
 !ATTLIST priority
   class   CDATA   #IMPLIED
   value CDATA #REQUIRED


 !-- The level class is org.apache.log4j.Level by default --
 !ELEMENT level (param*)
 !ATTLIST level
   class   CDATA   #IMPLIED
   value CDATA #REQUIRED



 !-- If no level element is specified, then the configurator MUST not 

Why There isn't a Log File?

2011-03-28 Thread Cindy Wong
I have used log4j before with the property file configuration. For this
new project, I have the XML configuration. The console output seems to be
fine. Any changes on log level and layout will reflect on log messages on
the console right away.

I, however, can't get any log file for some reasons. To my understanding,
to use a log file, I need to use the
log4j-user-subscr...@logging.apache.org class and what is the name is
important.

The followings are the xml configuration and the dtd. Can someone tell me
what is wrong?

?xml version=1.0 encoding=UTF-8?
!-- !DOCTYPE log4j:configuration PUBLIC -//LOGGER log4j.dtd --
!DOCTYPE log4j:configuration PUBLIC -//log4j/log4j Configuration//EN
log4j.dtd
log4j:configuration xmlns:log4j=http://jakarta.apache.org/log4j/;
!-- log4j:configuration debug=true  --
!-- Appenders --
appender name=console class=org.apache.log4j.ConsoleAppender
param name=Target value=System.out /
layout class=org.apache.log4j.PatternLayout
param name=ConversionPattern value=%-5p: %c{1}:%L - 
%m%n /
/layout
/appender

appender name=file class=org.apache.log4j.RollingFileAppender
param name=maxFileSize value=100KB /
param name=maxBackupIndex value=5 /
param name=File value=c:\myproj\myapp\logs\mylog.log /
param name=Append value=true /
layout class=org.apache.log4j.PatternLayout
param name=ConversionPattern value=%d %-5p [%t] %C{2} 
(%F:%L)
- %m%n/
/layout
/appender

!-- Application Loggers --
logger name=com.mycom.myapp
level value=debug /
/logger

!-- 3rdparty Loggers --
...

!-- Root Logger --
root
priority value=warn /
appender-ref ref=console /
/root

/log4j:configuration


?xml version=1.0 encoding=UTF-8 ?

!-- A configuration element consists of optional renderer
elements,appender elements, categories and an optional root
element. --

!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
   categoryFactory?)

!-- The threshold attribute takes a level value such that all --
!-- logging statements with a level equal or below this value are --
!-- disabled. --

!-- Setting the debug enable the printing of internal log4j logging   --
!-- statements. --

!-- By default, debug attribute is null, meaning that we not do touch --
!-- internal log4j logging settings. The null value for the threshold --
!-- attribute can be misleading. The threshold field of a repository--
!-- cannot be set to null. The null value for the threshold attribute --
!-- simply means don't touch the threshold field, the threshold field   --
!-- keeps its old value.--

!ATTLIST log4j:configuration
  xmlns:log4j  CDATA #FIXED http://jakarta.apache.org/log4j/;
  threshold(all|debug|info|warn|error|fatal|off|null) null
  debug(true|false|null)  null


!-- renderer elements allow the user to customize the conversion of  --
!-- message objects to String.   --

!ELEMENT renderer EMPTY
!ATTLIST renderer
  renderedClass  CDATA #REQUIRED
  renderingClass CDATA #REQUIRED


!-- Appenders must have a name and a class. --
!-- Appenders may contain an error handler, a layout, optional parameters
--
!-- and filters. They may also reference (or include) other appenders. --
!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)
!ATTLIST appender
  name  ID  #REQUIRED
  class CDATA   #REQUIRED


!ELEMENT layout (param*)
!ATTLIST layout
  class CDATA   #REQUIRED


!ELEMENT filter (param*)
!ATTLIST filter
  class CDATA   #REQUIRED


!-- ErrorHandlers can be of any class. They can admit any number of --
!-- parameters. --

!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)
!ATTLIST errorHandler
   classCDATA   #REQUIRED


!ELEMENT root-ref EMPTY

!ELEMENT logger-ref EMPTY
!ATTLIST logger-ref
  ref IDREF #REQUIRED


!ELEMENT param EMPTY
!ATTLIST param
  name  CDATA   #REQUIRED
  value CDATA   #REQUIRED



!-- The priority class is org.apache.log4j.Level by default --
!ELEMENT priority (param*)
!ATTLIST priority
  class   CDATA #IMPLIED
  value   CDATA #REQUIRED


!-- The level class is org.apache.log4j.Level by default --
!ELEMENT level (param*)
!ATTLIST level
  class   CDATA #IMPLIED
  value   CDATA #REQUIRED



!-- If no level element is specified, then the configurator MUST not --
!-- touch the level of the named category. --
!ELEMENT category (param*,(priority|level)?,appender-ref*)
!ATTLIST category
  class CDATA   #IMPLIED
  name  CDATA