weblogic启动文件的说明

在weblogic用户环境变量中加入export WLS_STDOUT_LOG=web.stdout.log  、export WLS_STDERR_LOG=web.stderr.log两条,将weblogic控制台和部署工程的全部日志信息打印输出到web.stdout.log文件,随着时间的增长web.stdout.log文件越来越大。如何能实现将输出的日志文件回滚,或按大小重新保存,比如容量到50M后,重新生成新的文件名进行保存?

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


 

默认weblogic中控制台启动之后会在命令行中标准输出一些信息,在没有使用log4j的情况下,想要获取在控制台输出的信息需要进行一些设置

打开C:\bea\user_projects\domains\域名\startWebLogic.cmd文件

set DOMAIN_HOME=C:\bea\user_projects\domains\base_domain_second

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*

 修改call这行为如下代码

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> stdout.log   2> stderr.log%*

也可以这样写

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> c:\stdout.log   2> c:\stderr.log%*

重启服务,控制台信息就被转移到你指定的文件中了。希望对大家有所帮助。

使用过程中发现重启服务会出现日志覆盖的情况

解决思路如下:
在startWebLogic.cmd文件中增加时间相关的字符串,拼接成文件名,保证每次重启的时候文件不会重名

具体代码如下:
// 设置 yyyy_mm_dd 格式的日期
set sbtmpdate=%date:~0,4%_%date:~5,2%_%date:~8,2%
// 设置 HHmmss 格式的时间
set sbtmptime=%time:~0,2%%time:~3,2%%time:~6,2%
// 随机数
set randomtmp=%random%
set r=%sbtmpdate%_%sbtmptime%.%randomtmp%

// 将变量赋值到文件名中
call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1>stdMsg-%r%.log 2>stdErr-%r%.log%*

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

weblogic启动文件的说明

情况一:单独的应用服务器(只有一个服务器,这个服务器就是 adminServer)
startWebLogic.sh内容如下:
#!/bin/sh
 
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.
 
# *************************************************************************
# This script is used to start WebLogic Server for the domain in the
# current working directory. This script simply sets the SERVER_NAME
# variable and starts server.
#
# To create your own start script for your domain, all you need to set is
# SERVER_NAME, then starts the server.
#
# Other variables that startWLS takes are:
#
# WLS_USER     - cleartext user for server startup
# WLS_PW       - cleartext password for server startup
# PRODUCTION_MODE    - true for production mode servers, false for
#                development mode
# JAVA_OPTIONS - Java command-line options for running the server. (These
#                will be tagged on to the end of the JAVA_VM and MEM_ARGS)
# JAVA_VM      - The java arg specifying the VM to run. (i.e. -server,
#                -hotspot, etc.)
# MEM_ARGS     - The variable to override the standard memory arguments
#                passed to java
#
# For additional information, refer to the WebLogic Server Administration
# Console Online Help(/ConsoleHelp/startstop.html)
# *************************************************************************
 
# Initialize the common environment.
 
WL_HOME="/neusoft/bea/weblogic81"
 
PRODUCTION_MODE=""
 
JAVA_VENDOR="IBM"
 
JAVA_HOME="/bea/IBMJava2-ppc64-142"
 
JAVA_OPTIONS="-Dibm.stream.nio=true"
 
#指定weblogic的最小内存和最大内存
MEM_ARGS="-Xms1248m -Xmx1248m"
 
# Call commEnv here AFTER setting the java_vendor to get common environmental settings.
 
. ${WL_HOME}/common/bin/commEnv.sh
 
# Set SERVER_NAME to the name of the server you wish to start up.
 
SERVER_NAME="myserver"
 
CLASSPATH="${WEBLOGIC_CLASSPATH}:${POINTBASE_CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar:${WL_HOME}/server/lib/webservices.jar:${CLASSPATH}"
export CLASSPATH
 
# Call WebLogic Server
 
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "."
echo "PATH=${PATH}"
echo "."
echo "***************************************************"
echo "* To start WebLogic Server, use a username and   *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://[hostname]:[port]/console    *"
echo "***************************************************"
 
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server
 
 

这个启动文件会直接在控制台窗口输出weblogic的控制台信息,当你退出是也会关闭weblogic。如果你希望退出控制台不退出weblogic,则你只需要修改此文件的最后一段。在之前加上nohup,并指定输入的日志文件。如:
 
 
 
 
……………………….
nohup ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server >cdsbserver_1.log &

 
 
情况二:当你的应用部署在群集中无中或在被管理服务器上。
startAppServer.sh的文件内容如下:
#!/bin/sh
# ****************************************************************************
# This script is used to start a managed WebLogic Server for the domain in the
# current working directory. This script reads in the SERVER_NAME and
# ADMIN_URL as positional parameters, sets the SERVER_NAME variable, then
# starts the server.
#
# Other variables that startWLS takes are:
#
# WLS_USER       - cleartext user for server startup
# WLS_PW         - cleartext password for server startup
# PRODUCTION_MODE      - Set to true for production mode servers, false for
#                  development mode
# JAVA_OPTIONS   - Java command-line options for running the server. (These
#                  will be tagged on to the end of the JAVA_VM and MEM_ARGS)
# JAVA_VM        - The java arg specifying the VM to run. (i.e. -server,
#                  -hotspot, etc.)
# MEM_ARGS       - The variable to override the standard memory arguments
#                  passed to java
#
# For additional information, refer to the WebLogic Server Administration Guide
# (/ConsoleHelp/startstop.html).
# ****************************************************************************
 
 
# set up WL_HOME, the root directory of your WebLogic installation
WL_HOME="/bea/bea814/weblogic81"
 
# set up common environment
# Set Production Mode. When this is set to true, the server starts up in
# production mode. When set to false, the server starts up in development
# mode. If it is not set, it will default to false.
# 指定为产品模式
PRODUCTION_MODE="true"
 
# Set JAVA_VENDOR to java virtual machine you want to run on server side.
JAVA_VENDOR="IBM"
 
# Set JAVA_HOME to java virtual machine you want to run on server side.
JAVA_HOME="/bea/IBMJava2-ppc64-142"
 
. "${WL_HOME}/common/bin/commEnv.sh"
 
# Set SERVER_NAME to the name of the server you wish to start up.
# 指定管理服务器的地址和端口
ADMIN_URL=http://172.16.6.1:7001
# 指定被管理服务器的名称
SERVER_NAME=appServer5
 
# Set WLS_USER equal to your system username and WLS_PW equal
# to your system password for no username and password prompt
# during server startup. Both are required to bypass the startup
# prompt.
# 指定weblogic管理员的用户名和密码
WLS_USER=weblogic
WLS_PW=weblogic
 
# Set JAVA_VM to java virtual machine you want to run on server side.
# JAVA_VM=""
 
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value"
# 使用IBM的JDK有可能会出现IO错误和编码错误,这里将nio设为true
JAVA_OPTIONS="-Dibm.stream.nio=true"
 
usage()
{
 echo "Need to set SERVER_NAME and ADMIN_URL environment variables or specify"
 echo "them in command line:"
 echo 'Usage: ./startManagedWebLogic.sh [SERVER_NAME] [ADMIN_URL]'
 echo "for example:"
 echo './startManagedWebLogic.sh managedserver1 http://localhost:7001'
 exit 1
}
 
# Check for variables SERVER_NAME and ADMIN_URL
# SERVER_NAME and ADMIN_URL must by specified before starting a managed server,
# detailed information can be found at /adminguide/startstop.html.
if [ ${#} = 0 ]; then
 if [ "x${SERVER_NAME}" = "x" -o "x${ADMIN_URL}" = "x" ]; then
    usage
 fi
elif [ ${#} = 1 ]; then
 SERVER_NAME=${1}
 if [ "x${ADMIN_URL}" = "x" ]; then
    usage
 fi
elif [ ${#} = 2 ]; then
 SERVER_NAME=${1}
 ADMIN_URL=${2}
else
    usage
fi
 
# Start WebLogic server
# Reset number of open file descriptors in the current process
# This function is defined in commEnv.sh
resetFd
 
 
#指定当用weblogic的最小内存和最大内存
MEM_ARGS="-Xms1248m -Xmx1536m"
 
CLASSPATH="${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/jre/lib/rt.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar${CLASSPATHSEP}${CLASSPATH}"
export CLASSPATH
 
# Start WebLogic server
echo CLASSPATH="${CLASSPATH}"
echo
echo PATH="${PATH}"
echo
echo "***************************************************"
echo "* To start WebLogic Server, use a username and   *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://<hostname>:<port>/console    *"
echo "***************************************************"
 
nohup "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}     /
 -Dweblogic.Name=${SERVER_NAME}                                 /
 -Dweblogic.management.username=${WLS_USER}                     /
 -Dweblogic.management.password=${WLS_PW}                       /
 -Dweblogic.management.server=${ADMIN_URL}                      /
 -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" /
 -Djava.awt.headless=true -verbose:gc                                      /
   weblogic.Server >appServer5.log &

 
注意:MEM_ARGS="-Xms1248m -Xmx1536m"
对于32位操作系统最大不能超过2G,在实际中一般最大内存配置1.5G
 
说明:
可以设置-Xms(最小使用内存) -Xmx(最大使用内存),-XX:MaxPermSize
最大使用内存:
对于UNIX而言,一般不应超过物理内存的75%;
对于Windows, 一般不应超过物理内存的50%;
 
-XX:MaxPermSize 一般应为mx(最大使用内存)的一半;尝试设置-XX:MaxPermSize=128m
注意:对于IBM的虚拟机没有MaxPermSize设置,不然系统不能启动


猜你喜欢

转载自blog.csdn.net/lanpiao_87/article/details/8504068