我的webapp的日志文件在Linux Tomcat 7安装中的位置?
我目前使用Eclipse和本地Tomcat 7服务器开发一个简单的Web应用程序。我配置了Eclipse,因此我可以从我的IDE中启动Tomcat 7 - 这里没有多少魔力。我的webapp的日志文件在Linux 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>
当我开始我的网站应用程序和当地的Tomcat 7服务器,日志记录输出去
./log/MyTestWebApp.log
如预期的那样,其中curr ent目录就是我的web应用程序所在的位置(例如,我的Maven pom.xml所在的位置)。
当我在远程linux机器上启动我的web应用程序时,找不到任何“MyTestWebApp.log”文件,不在我的web应用程序的directoy中,也不在Tomcat7根目录中。
所以我的一个简单的问题是,这些日志在哪里去,我的“MyTestWebApp.log”文件分别在哪里?
非常感谢您的帮助!
日志文件位于Tomcat的起始目录中。您可以使用以下命令获得此目录:
grep -az "\bPWD" /proc/TOMCAT_PID/environ
感谢您的回答。我在我的“Tomcat/bin/log/*”目录中找到了我的日志文件。那么,我不认为这是一个正确的日志文件路径:)有没有一种常见的方法来配置系统,所以日志文件进入正确的地方(这是什么)? –
正如我所看到的,有两种方法:在您的logback.xml中设置绝对路径,或者确保Tomcat始终从正确的目录启动。我通常使用绝对路径并使用maven配置文件生成生产战争,该配置文件在logback.xml上进行资源过滤并将绝对路径放入其中。 – palacsint
您是否检查过tomcat7目录中的权限?即谁拥有/ var/lib/tomcat7?有时候安装会使这个目录拥有root权限,不允许Tomcat7用户在那里创建一个'log'目录。
要解决它,只需
sudo chown tomcat7:tomcat7 /var/lib/tomcat7
希望它能帮助, Sekm
如果它工作在本地计算机上,但并非遥不可及,那么你可能要检查的文件,文件夹等的特权。 – Will
感谢您的回答,请在palacsint的博文中查看我的评论,我在“Tomcat/bin/log/*”目录中找到了我的日志文件。 –