可以使用脚本来配置 Java™ 虚拟机 (JVM) 日志文件的大小。JVM 日志对来自正在运行的 JVM 的事件或信息进行记录。
开始之前
有两种方式可用来执行本任务。本主题说明了如何使用 AdminConfig 对象来修改服务器配置。或者,可以使用 AdminServerManagement 脚本库中的 configureJavaProcessLogs Jython 脚本来配置 JVM 日志设置。wsadmin 工具启动时将自动装入该脚本。通过以下语法使用 configureJavaProcessLogs 脚本来配置 JVM 日志设置:
AdminServerManagement.configureJavaProcessLogs(nodeName, serverName, processLogRoot, otherAttributeList)
有关其他信息和自变量定义,请参阅 AdminServerMananagment 脚本库的文档。
过程
- 启动 wsadmin 脚本编制工具。
- 标识相关的应用程序服务器。
确定相关应用程序服务器的配置标识并将其指定给 server1 变量,如下例所示:
示例输出:
server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)
- 标识相关流日志。
确定相关的流日志并将其指定给 log 变量。以下示例标识输出流日志:
- 使用 Jacl:
set log [$AdminConfig showAttribute $s1 outputStreamRedirect]
- 使用 Jython:
log = AdminConfig.showAttribute(s1, 'outputStreamRedirect')
以下示例识别错误流日志:
- 使用 Jacl:
set log [$AdminConfig showAttribute $s1 errorStreamRedirect]
- 使用 Jython:
log = AdminConfig.showAttribute(s1, 'errorStreamRedirect')
示例输出:(cells/mycell/nodes/mynode/servers/server1|server.xml#StreamRedirect_2)
- 列示流日志的当前值。
使用以下示例来显示相关流日志的当前值:
- 使用 Jacl:
$AdminConfig show $log
- 使用 Jython:
AdminConfig.show(log)
示例输出:
{baseHour 24}
{fileName ${SERVER_LOG_ROOT}/SystemOut.log}
{formatWrites true}
{maxNumberOfBackupFiles 1}
{messageFormatKind BASIC}
{rolloverPeriod 24}
{rolloverSize 1}
{rolloverType SIZE}
{suppressStackTrace false}
{suppressWrites false}
- 修改流日志的旋转策略。
以下示例将旋转日志文件大小设置为 2 兆字节:
- 使用 Jacl:
$AdminConfig modify $log {{rolloverSize 2}}
- 使用 Jython:
AdminConfig.modify(log, [['rolloverSize', 2]])
以下示例设置旋转策略管理自身。它基于在午夜装入的翻转算法的文件时效,并且日志文件每 12 个小时翻转一次:
- 使用 Jacl:
$AdminConfig modify $log {{rolloverType TIME}
{rolloverPeriod 12} {baseHour 24}}
- 使用 Jython:
AdminConfig.modify(log, [['rolloverType', 'TIME'],
['rolloverPeriod', 12], ['baseHour', 24]])
以下示例根据时间和大小设置日志文件的翻转:
- 使用 Jacl:
$AdminConfig modify $log {{rolloverType BOTH} {rolloverSize 2}
{rolloverPeriod 12} {baseHour 24}}
- 使用 Jython:
AdminConfig.modify(log, [['rolloverType', 'BOTH'], ['rolloverSize', 2],
['rolloverPeriod', 12], ['baseHour', 24]])
- 保存配置更改。
请使用以下命令示例来保存配置更改:
AdminConfig.save()
- 仅在 Network Deployment 环境中使节点同步。
使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。