zoukankan      html  css  js  c++  java
  • docker tomcat 已主机名为日志输出路径

    目的:所有的日志输出到共享存储目录中

    方法:将 tomcat 的日志放置到 /data/logs/主机名/  下,

    1. 修改tomcat/conf下的logging.properties 

    [root@harbor conf]# cat logging.properties 
    # Licensed to the Apache Software Foundation (ASF) under one or more
    # contributor license agreements.  See the NOTICE file distributed with
    # this work for additional information regarding copyright ownership.
    # The ASF licenses this file to You under the Apache License, Version 2.0
    # (the "License"); you may not use this file except in compliance with
    # the License.  You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
    
    .handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
    
    ############################################################
    # Handler specific properties.
    # Describes specific configuration info for Handlers.
    ############################################################
    
    1catalina.org.apache.juli.AsyncFileHandler.level = FINE
    1catalina.org.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/
    1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
    
    2localhost.org.apache.juli.AsyncFileHandler.level = FINE
    2localhost.org.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/
    2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
    
    3manager.org.apache.juli.AsyncFileHandler.level = FINE
    3manager.org.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/
    3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
    
    4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
    4host-manager.org.apache.juli.AsyncFileHandler.directory = /data/logs/HOSTNAME/
    4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
    
    java.util.logging.ConsoleHandler.level = FINE
    java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
    
    
    ############################################################
    # Facility specific properties.
    # Provides extra control for each logger.
    ############################################################
    
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler
    
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler
    
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler
    
    # For example, set the org.apache.catalina.util.LifecycleBase logger to log
    # each component that extends LifecycleBase changing state:
    #org.apache.catalina.util.LifecycleBase.level = FINE
    
    # To see debug messages in TldLocationsCache, uncomment the following line:
    #org.apache.jasper.compiler.TldLocationsCache.level = FINE

    2. 修改 server.xml 配置文件,指定localhost_access_log.txt 文件路径

    [root@harbor conf]# tail -f  server.xml 
                 Documentation at: /docs/config/valve.html
                 Note: The pattern used is equivalent to using pattern="common" -->
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs/HOSTNAME"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s" />
            <Context docBase="/data/webserver" path="/"  reloadable="true" />
          </Host>
        </Engine>
      </Service>
    </Server>

    3. 修改tomcat/bin/catalina.sh ,使用 sed 替换 

    JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -server -Xms2048M -Xmx2048M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:-UseCounterDecay -XX:+AlwaysPreTouch  -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:MaxTenuringThreshold=6 -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled"

    
    
    #建立应用输入目录 
    mkdir -p /data/logs/$HOSTNAME/EMDI
    sed -i "s/HOSTNAME/$HOSTNAME/g" /data/tomcat/conf/logging.properties
    sed -i "s/HOSTNAME/$HOSTNAME/g" /data/tomcat/conf/server.xml
    sed -i "s/HOMESNAME/$HOSTNAME/g" /data/tomcat/webapps/HIPBusiConsumer/WEB-INF/classes/log4j.properties #修改程序log4j 的输出路径
    if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=/data/logs/$HOSTNAME/catalina.out fi
  • 相关阅读:
    Centos 安装TensorFlow
    Centos 编译TensorFlow C/C++库 libtensorflow.so libtensorflow_framework.so
    机器学习常用库速查表 文献收藏
    Jupyter 取消括号自动匹配
    Sklearn 错误 No module named 'cross_validation' 错误 No module named 'mode_selection'
    Centos 设置iptables端口转发 “Unit iptables.service could not be found”错误
    三角函数tan、arctan与双曲函数tanh 学习笔记
    Moco框架
    fake_useragent
    chardet
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/9213513.html
Copyright © 2011-2022 走看看