Linux Tomcat 7 安装上的 Web 应用程序的日志文件在哪里?

发布于 2024-11-30 18:21:20 字数 1556 浏览 0 评论 0原文

我目前使用 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>

进行

./log/MyTestWebApp.log

当我启动我的 Web 应用程序和本地 Tomcat 7 服务器时,日志记录输出将按预期 ,其中当前目录是我的 Web 应用程序所在的目录(例如,我的 Maven pom.xml 所在的目录)。

当我在远程 Linux 计算机上启动 Web 应用程序时,我找不到任何“MyTestWebApp.log”文件,既不在我的 Web 应用程序的目录中,也不在 Tomcat7 根目录中。

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

非常感谢您的帮助!

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暮色兮凉城 2024-12-07 18:21:20

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

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

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
纵性 2024-12-07 18:21:20

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

要解决它,只是

sudo chown tomcat7:tomcat7 /var/lib/tomcat7

希望它有帮助,
塞克姆

Have you checked the permissions inside your tomcat7 directory? I.e. who owns /var/lib/tomcat7 ? Sometimes an installation will make this directory owned by root, not allowing the Tomcat7 user to create a 'log' directory in there in the first place.

To fix it, simply

sudo chown tomcat7:tomcat7 /var/lib/tomcat7

Hope it helps,
Sekm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文