0

I have Tomcat 6 installed as a Windows service. All log messages from my web application dreambear (logged with getServletContext().log()) are going to the stdout log instead of the log file I specified. This happened even before I added the dreambear logger, when the messages should still have gotten to the localhost log instead stdout.

Below are the contents of logging.properties. The specified log files are created, though empty, so there probably isn't a syntax error or something like that in this file.

handlers = \
    1catalina.org.apache.juli.FileHandler, \
    2localhost.org.apache.juli.FileHandler, \
    3manager.org.apache.juli.FileHandler, \
    4host-manager.org.apache.juli.FileHandler, \
    5dreambear.org.apache.juli.FileHandler, \
    java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

5dreambear.org.apache.juli.FileHandler.level = FINE
5dreambear.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5dreambear.org.apache.juli.FileHandler.prefix = dreambear.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].handlers = 5dreambear.org.apache.juli.FileHandler

Or should I just use Log4J?

Bart van Heukelom
  • 1,199
  • 5
  • 20
  • 41

1 Answers1

0

Is dreambear the name of the web application? Or the servlet?

In these 2 lines,

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dreambear].handlers = 5dreambear.org.apache.juli.FileHandler

It needs to be the name of the web application in [/dreambear] and not that of the servlet. Then your logging will work.

also try changing logging level to ALL here

5dreambear.org.apache.juli.FileHandler.level = ALL 
JoseK
  • 455
  • 6
  • 13