Pid,

That's exactly what I tried:

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

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

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

When I fire up tomcat, it does create my-webapp.2011-10-11.log, and it logs:

Oct 11, 2011 8:47:20 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'dispatcher'

...but then the rest of my webapp's output from then on goes to catalina.out
-- until tomcat shutdown, at which point this gets logged to
my-webapp.2011-10-11.log:

Oct 11, 2011 8:48:27 AM org.apache.catalina.core.ApplicationContext log
INFO: Destroying Spring FrameworkServlet 'dispatcher'
Oct 11, 2011 8:48:28 AM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext

I'm confused as to why everything else is going to catalina.out...any
advice?

Thanks,
Dan

On Tue, Oct 11, 2011 at 8:36 AM, Pid <p...@pidster.com> wrote:

> On 11/10/2011 07:28, Dan Checkoway wrote:
> > Hello,
> >
> > I run several webapps under one instance of tomcat (7.0.21 currently,
> fwiw),
> > and each webapp uses JDK logging and needs to log to its own separate log
> > file.  I accomplish this by placing logging.properties in
> WEB-INF/classes,
> > and an example of how it's set up is:
> >
> > handlers = org.apache.juli.FileHandler
> >
> > org.apache.juli.FileHandler.level = FINE
> > org.apache.juli.FileHandler.directory = ${catalina.base}/logs
> > org.apache.juli.FileHandler.prefix = my-webapp.
> > org.apache.juli.FileHandler.formatter =
> > com.mycompany.logging.MyCustomFormatter
> >
> > ...all of my logging levels...
>
> You can configure the main logging.properties to output separate files
> per application, as per:
>
>  http://tomcat.apache.org/tomcat-6.0-doc/logging.html
>
> The Manager application is configured like this.
>
>
> p
>
> > (and fwiw, my custom logging formatter lives in a jar that I place in
> > $TOMCAT_HOME/endorsed)
> >
> > It works great.  The challenge I face, however, is that I deploy my
> webapps
> > as .war files, and I'd like to be able to deploy the same exact .war file
> to
> > different environments...dev, test, staging, production.  And I'd like to
> be
> > able to use different logging level config in each of those environments.
> > As it stands right now, I'm sorta confined to that single instance of
> > logging.properties that gets "built into" my webapp.  I want to
> > "externalize" this moving part if possible.
> >
> > I played around with omitting logging.properties from my webapp, and
> instead
> > using just $TOMCAT_HOME/conf/logging.properties, but (a) I wasn't able to
> > get it to work the same as it's working right now, and (b) that funnels
> me
> > into "sharing" logging level config across my webapps (in other words,
> > webapp 1 can't have a different logging level for package x.y.z than
> webapp
> > 2).  Forget (b) for the time being, since I can live with shared logging
> > levels across webapps.  The main issue I'm having with this approach is
> that
> > I can't seem to get *all* of my logging to go to my webapp-specific log
> > file.  Some stuff still gets logged to catalina.out.
> >
> > So...
> >
> > 1. Is it currently possible to do what I'm trying to do?  Per-webapp
> logging
> > control without using WEB-INF/classes/logging.properties?  I could really
> > use a working example if this is doable.
> >
> > 2. Is there any other hook I can take advantage of (i.e. a context
> listener
> > or something), by which my code can get invoked prior to JULI
> initializing
> > for my webapp, where I might be able to override the
> > java.util.logging.config.file system property, or something like that?
> >
> > 3. If neither of those options is possible, how feasible would it be to
> add
> > a feature to tomcat, where you can configure a path to logging.properties
> > (in theory classpath: or file: style) on a per-webapp basis?  i.e. in
> > conf/server.xml in the <Context>.
> >
> > Or if there's an easier way, shove me toward it...
> >
> > Thanks,
> > Dan
> >
>
>
>

Reply via email to