5

我目前使用 Eclipse 和本地 Tomcat 7 服务器开发了一个简单的 Web 应用程序。我配置了 Eclipse,这样我就可以直接从我的 IDE 中启动 Tomcat 7——这里没什么神奇的。

在我的 Web 应用程序中,我使用 SLF4J 和 Logback,在服务类中看起来像这样:

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

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

我的日志记录是这样配置的:

<?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>

当我启动我的 Web 应用程序和本地 Tomcat 7 服务器时,日志输出将转到

./log/MyTestWebApp.log

正如预期的那样,当前目录是我的 Web 应用程序所在的位置(例如,我的 Maven pom.xml 所在的位置)。

当我在远程 linux 机器上启动我的 web 应用程序时,我找不到任何“MyTestWebApp.log”文件,不在我的 web 应用程序的目录中,也不在 Tomcat7-root 目录中。

所以我的简单问题是,这些日志在哪里,我的“MyTestWebApp.log”文件分别在哪里?

非常感谢你的帮助!

4

2 回答 2

4

日志文件位于 Tomcat 的起始目录中。您可以使用以下命令获取此目录:

grep -az "\bPWD" /proc/TOMCAT_PID/environ
于 2011-09-17T13:36:12.243 回答
3

您是否检查过您的 tomcat7 目录中的权限?即谁拥有 /var/lib/tomcat7 ?有时安装会使该目录归根用户所有,不允许 Tomcat7 用户首先在其中创建“日志”目录。

要修复它,只需

sudo chown tomcat7:tomcat7 /var/lib/tomcat7

希望它有帮助, Sekm

于 2012-05-17T03:31:45.677 回答