【问题标题】:Tomcat 7- Change location of log filesTomcat 7-更改日志文件的位置
【发布时间】:2016-07-06 05:51:16
【问题描述】:

我在 ubuntu 14.04 上运行 tomcat7。我需要更改日志文件的文件夹位置: /var/log/tomcat7/catalina.out

我尝试了以下方法:

  1. 将 /etc/environment 文件中的环境变量 CATALINA_OUT 设置为我的自定义位置: CATALINA_OUT=/xyz/catalina.out

  2. 在 /etc/tomcat7/logging.properties 中,我更新了以下属性: 1catalina.org.apache.juli.FileHandler.directory = /xyz (这开始将 catalina.2016-03-19.log 文件保存到我的自定义位置;而不是 catalina.out)

以上都不适合我。请帮忙。谢谢 贾斯卡兰

【问题讨论】:

    标签: tomcat tomcat7


    【解决方案1】:

    您可以通过两种方式更改日志文件位置:

    方法1.)例如要在“D:/logs”路径下写入日志文件,如下图编辑/tomcat7/config/logging.properties,然后重启tomcat服务。 p>

    1catalina.org.apache.juli.FileHandler.directory = D:/logs

    2localhost.org.apache.juli.FileHandler.directory = D:/logs

    3manager.org.apache.juli.FileHandler.directory = D:/logs

    4host-manager.org.apache.juli.FileHandler.directory = D:/logs

    注意:它只写catalina、manager、host-manager、commons-deamon等日志文件。

    如果你想把stdout和stderr文件也写在同一个路径,按照第二种方法。

    方法 2)。 转到 /tomcat7/bin/ 并以管理员权限打开 Tomcatw.exe -> 日志选项卡 -> 在日志路径中指定 D:\logs。应用设置并重新启动 tomcat 服务。

    注意:在应用更改之前,请检查授予 Tomcat 使用(登录)运行其服务的适当用户的 READ/WRITE 权限。

    【讨论】:

      【解决方案2】:

      tomcat 8.5 也有同样的问题。*

      我听从了 rod.poli.diniz 的建议,做了以下事情: 在我的~/bash_profile中创建了一个环境变量

      export CATALINA_LOGS_1=/home/user1/apps/logs/app1
      

      在 tomcat <tomcat-base>/bin/setenv.sh 中添加了以下在 <tomcat-base>/conf/logging.properties 中标识的 JVM 参数。

      -Dcatalina.logs=$CATALINA_LOGS_1
      

      然后更新<tomcat-base>/conf/logging.properties

      1catalina.org.apache.juli.AsyncFileHandler.level = FINE
      1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
      1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
      
      2localhost.org.apache.juli.AsyncFileHandler.level = FINE
      2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
      2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
      
      3manager.org.apache.juli.AsyncFileHandler.level = FINE
      3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
      3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
      
      4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
      4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.logs}/catalina
      4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
      

      结果:

      <tomcat-base>/logs/:

      catalina.out
      localhost_access_log.2019-04-12.txt
      tomcat.pid
      

      $CATALINA_LOGS_1:

      catalina.2019-04-12.log
      host-manager.2019-04-12.log
      localhost.2019-04-12.log
      manager.2019-04-12.log
      

      预期:

      <tomcat-base>/logs/:

      tomcat.pid
      

      $CATALINA_LOGS_1:

      catalina.out
      localhost_access_log.2019-04-12.txt
      catalina.2019-04-12.log
      host-manager.2019-04-12.log
      localhost.2019-04-12.log
      manager.2019-04-12.log
      

      解决办法:

      使用以下内容更新<tomcat-base>/bin/setenv.sh

      mkdir -p $CATALINA_LOGS_1
      CATALINA_OUT=$CATALINA_LOGS_1/catalina.out
      

      更新<tomcat-base>/conf/server.xml 找到 AccessLogValve。替换directory="logs": --> directory="${cfrm.logs}"

      【讨论】:

        【解决方案3】:

        tomcat日志配置的默认位置是:

        CATALINA_HOME/conf/logging.properties。

        如果要更改日志记录位置,则需要编辑此文件。对于tomcat 7,您在文件中有这样的内容:

        ############################################################
        # Handler specific properties.
        # Describes specific configuration info for Handlers.
        ############################################################
        
        1catalina.org.apache.juli.FileHandler.level = FINE
        1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
        1catalina.org.apache.juli.FileHandler.prefix = catalina.
        
        2localhost.org.apache.juli.FileHandler.level = FINE
        2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
        2localhost.org.apache.juli.FileHandler.prefix = localhost.
        
        3manager.org.apache.juli.FileHandler.level = FINE
        3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
        3manager.org.apache.juli.FileHandler.prefix = manager.
        
        4host-manager.org.apache.juli.FileHandler.level = FINE
        4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
        4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
        

        您需要将 ${catalina.base}/logs 替换为您想要的新目录/路径。那是用于 tomcat 的核心日志记录。对于您的 Web 应用程序,您应该在特定应用程序的 log4j 或其他日志框架中执行此操作。

        【讨论】:

          猜你喜欢
          • 2018-02-07
          • 2015-04-15
          • 2015-07-22
          • 2018-10-12
          • 1970-01-01
          • 2019-04-18
          • 2016-07-08
          • 1970-01-01
          • 2016-04-30
          相关资源
          最近更新 更多