Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1 |
第 20 章
配置日志记录本章简要介绍了如何使用管理控制台来配置日志记录和查看服务器日志。它包含以下小节:
关于日志日志记录
Application Server 使用在 JSR 047 中指定的 Java 2 平台日志记录 API。Application Server 日志信息记录在服务器日志中,您通常可以在 domain_root_dir
/
domain_dir/logs/server.log
中找到该日志。domain_root_dir
/
domain_dir/logs/
目录中除了包含服务器日志外,还包含另外两种日志。access
子目录中包含 HTTP 服务访问日志,tx
子目录中包含事务服务日志。有关这些日志的信息,请参见配置 HTTP 服务访问日志和配置事务。Application Server 的组件生成日志记录输出。应用程序组件也可以生成日志记录输出。
应用程序组件可以使用 Apache Commons Logging Library 来记录消息。但是,建议采用平台标准 JSR 047 API 以获得更好的日志配置。
日志记录遵循以下统一格式:
[#|yyyy-mm-ddThh:mm:ss.SSS-Z|日志级别|产品名称版本|日志程序名称|关键字值对|消息|#]
例如:
[#|2004-10-21T13:25:53.852-0400|INFO|sun-appserver-ee8.1|javax.enterprise.system.core|_ThreadID=13;|CORE5004: Resource Deployed: [cr:jms/DurableConnectionFactory].|#]
在本示例中,
[#
和#]
标记该记录的开始和结束。- 垂直条 (
|
) 用于分隔记录字段。2004-10-21T13:25:53.852-0400
指明了日期和时间。- 日志级别为
INFO
。日志级别可以是以下任何值:SEVERE
、WARNING
、INFO
、CONFIG
、FINE
、FINER
和FINEST
。- 产品名称版本为
sun-appserver-
e
e8.1
。- 日志程序名称是用于标识日志模块的资源的分层日志程序名称空间,在此示例中为
javax.enterprise.system.core
。- 关键字值对为关键字名称和值,通常为线程 ID,如
_ThreadID=14;
。- 消息是日志消息的文本。对于所有的 Application Server
SEVERE
和WARNING
消息以及多种INFO
消息,它均以包含模块代码和数值的消息 ID 开头(在此示例中为CORE5004
)。在以后的版本中,可能会更改或增强日志记录格式。
日志程序名称空间分层结构
Application Server 为它的每个模块都提供了日志程序。下表按照每个日志程序的模块名称和名称空间在管理控制台的“日志级别”页面中的显示方式以字母顺序列出每个日志程序的模块名称和名称空间(请参见配置日志级别)。“日志级别”页面中未显示表中最后三个模块。
用于日志记录的管理控制台任务配置常规日志记录设置
- 在树组件中,展开“节点代理”节点或“配置”节点。
- 选择节点代理,或者选择要配置的实例:
- 对于节点代理,请选择“日志程序设置”选项卡。对于配置,请选择“日志程序设置”节点。
- 在“日志设置”页面中,可以使用以下字段来自定义日志:
- 日志文件:要为服务器日志文件指定替代名称或位置,请在文本字段中键入新的路径名。默认情况下,该位置为 domain_root_dir
/
domain_dir/logs/server.log
。- 警报:要通过 JMX 框架路由
SEVERE
和WARNING
消息,请选中“已启用”复选框。- 写入系统日志:仅在 Solaris 和 Linux 系统中,如果要将日志输出发送到服务器日志和
syslog
工具,请选中“已启用”复选框。- 日志处理程序:要将日志发送到
server.log
或syslog
以外的目标,您可以插入自定义日志处理程序。自定义处理程序必须扩展java.util.logging.Handler
类(JSR 047 兼容 API)。在“日志处理程序”字段中键入处理程序的绝对类名。还应将处理程序类置于 Application Server 类路径中,以便在服务器启动过程中安装该处理程序。自定义处理程序的日志记录具有在日志记录中说明的格式。- 日志过滤器:要过滤发送给目标(如
server.log
、syslog
或由自定义日志处理程序指定的目标)的日志记录,可以插入自定义日志过滤器。该自定义过滤器必须实现接口java.util.logging.Filter
。在“日志过滤器”字段中键入过滤器的绝对类名。还应将过滤器类置于 Application Server 类路径中,以便在服务器启动过程中安装该过滤器。- 文件轮转限制:如果服务器日志的字节数达到了指定大小,请创建一个名为
server.log
的新的空文件,并将旧文件重命名为server.log_
date,其中 date 是轮转文件的日期和时间。默认值为 2 兆字节。该限制的最小值为 500 千字节;如果指定较低的值,则要在达到 500 千字节时该文件才轮转。要关闭日志文件轮转,请将该值设置为 0。- 文件轮转时间限制:达到指定的分钟数之后才轮转服务器日志。默认值为零,这表示文件达到“文件轮转限制”字段中指定的大小即被轮转。如果指定了非零的时间限制,则该时间限制优先于大小限制。
- 单击“保存”以保存更改。单击“查看日志文件”查看服务器日志。
配置日志级别
- 在树组件中,展开“节点代理”节点或“配置”节点。
- 选择节点代理,或者选择要配置的实例:
- 对于节点代理,请选择“日志级别”选项卡。对于配置,请选择“日志程序设置”节点,然后选择“日志级别”选项卡。
- 在“模块日志级别”页面中,请从要更改日志级别的一个或多个模块对应的下拉式列表中选择一个新值。默认级别为
INFO
,表示处于该级别或更高级别(WARNING
、SEVERE
)的消息将显示在日志中。可以选择以下任一值(以最高级别至最低级别的顺序列出):- 使用“其他属性”区域可以为任何应用程序日志程序配置日志级别。属性名是日志程序名称空间,其值为上述八个可能的级别之一。例如,属性名称可为
samples.logging.simple.servlet
,值可为FINE
。还可以使用此区域来更改子模块的日志级别,例如 CORBA 模块的传输子模块:
javax.enterprise.resource.corba.ORBId.transport
- 单击“保存”以保存更改,或者单击“装入默认值”以恢复默认值。
对
System.out.println
的调用均在INFO
级别使用日志程序名称javax.enterprise.system.stream.out
予以记录。对System.err.println
的调用均在WARNING
级别使用日志程序名称javax.enterprise.system.stream.err
予以记录。要从这些源关闭日志,请在“其他属性”区域中将日志程序名称的值指定为OFF
。对日志级别设置所做的更改将立即生效。同时将在
domain.xml
文件中保存这些更改,以供服务器重新启动时使用。查看服务器日志
使用“搜索条件”区域自定义和过滤日志查看器。使用如下所示的基本字段:
为确保您要查看的消息都显示在服务器日志中,请先在“日志级别”页面中设置适当的日志级别。请参见配置日志级别。
如果您选择基于日志级别过滤日志消息,则将只显示符合指定过滤条件的消息。不过,这种过滤不影响那些记录到服务器日志中的消息。
将显示服务器日志中最新的 40 个条目以及在“日志记录设置”和“日志级别”页面中指定的设置。
单击“时间戳”标题旁边的三角形对这些消息进行排序,以使最新的消息显示在最后。
要查看任何消息的格式化版本,请单击标记的链接
(details)
将显示标有“日志条目详细资料”的窗口,该窗口包含了消息的格式化版本。
在条目列表的末尾,单击按钮以查看日志文件中较早或较晚的条目。
单击“搜索条件”区域中的“高级搜索”以进一步细化日志查看器的搜索条件。使用如下所示的“高级选项”字段:
单击“基本搜索”可以隐藏“高级选项”区域。