Where go my logging files of my webapp on a linux Tomcat 7 installation?

It's Leto picture It's Leto · Aug 22, 2011 · Viewed 17.6k times · Source

I currently develop a simple web app using Eclipse and a local Tomcat 7 server. I configured Eclipse so I can start the Tomcat 7 right out of my IDE - not much magic here.

In my web app, I use SLF4J with Logback, which looks like this in a service class:

public class MyServiceImpl implements MyService
{
  private static Logger logger = LoggerFactory.getLogger( MyServiceImpl.class );

  public void doSomeStuff()
  {
      logger.info( "Doing some stuff" );
  }
}

My logging is configured this way:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>log/MyTestWebApp.%d.log.zip</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.test" level="WARN" />

    <root level="WARN">
        <appender-ref ref="fileAppender" />
    </root>

</configuration>

When I start my web app and so the local Tomcat 7 server, the logging output goes to

./log/MyTestWebApp.log

as expected, where the current directory is that where my web app is (for example, where my Maven pom.xml is).

When I start my web app on a remote linux machine, I can't find any "MyTestWebApp.log" file, not in directoy of my web app, nor in the Tomcat7-root directory.

So my simple question is, where do those logs go and where is my "MyTestWebApp.log" file respectively?

Thanks a lot for your help!

Answer

palacsint picture palacsint · Sep 17, 2011

The log file is inside the starting directory of Tomcat. You can get this directory with this command:

grep -az "\bPWD" /proc/TOMCAT_PID/environ