ODL 配置

每个使用 ODL 日志记录格式的 Oracle Enterprise Performance Management System 产品都至少具有一个日志记录配置文件 logging.xml。EPM System 组件具有描述性名称,格式为 loggingCOMPONENT_NAME.xml。

日志记录配置文件由两部分组成:log_handlers 和 loggers。log_handlers 部分用于定义日志记录程序及其参数,loggers 部分用于标识详细信息,包括日志记录级别和要使用的 log_handler。

有关可以指定的 log_handler 属性的列表,请参阅表 3-9。

ODL 日志记录级别

表 3-7 ODL 日志记录级别

级别 说明
INCIDENT_ERROR:1 由未知原因引起的严重问题的相关消息。用户必须求助于 Oracle 技术支持才能解决问题。
ERROR:1 需要系统管理员立即注意但并非由 EPM System 组件缺陷所引起的严重问题的相关消息
WARNING:1 系统管理员应检查的潜在问题的相关消息
NOTIFICATION:1 主要生命周期事件(例如激活或禁用主要子组件或功能)的相关消息
NOTIFICATION:16 EPM System 组件中正常事件的相关消息
TRACE:1 对 EPM System 组件最终用户具有意义的事件的跟踪或调试消息
TRACE:16 Oracle 技术支持可用于诊断 EPM System 组件问题的详细跟踪或调试消息
TRACE:32 非常详细的跟踪或调试消息,通常用于 Oracle 开发人员查找产生错误的来源

ODL 配置文件:单个受管服务器部署

将 EPM System 组件部署到单个受管服务器会为所有已部署的 Java Web 应用程序生成统一日志记录配置文件 logging.xml。在 Windows 服务器上,此文件通常位于 MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/EPMServer0 中。

ODL 配置文件:标准部署

EPM System 的标准部署会为每个已部署的 Java Web 应用程序生成日志记录配置文件 logging.xml。在 Windows 服务器上,这些文件通常位于以下位置:

表 3-8 标准部署中 ODL 配置文件的位置

组件 logging.xml 的位置
管理服务器(Oracle WebLogic Server 管理控制台、Oracle Web Services Manager 和 Enterprise Manager) MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/AdminServer/logging.xml
Oracle Hyperion Provider Services MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/AnalyticProviderServices0/logging.xml
Oracle Hyperion Calculation Manager MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/CalcMgr0/logging.xml
Oracle Essbase Administration Services MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/EssbaseAdminServices0/logging.xml
Oracle Hyperion Foundation Services MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/FoundationServices0/logging.xml
Oracle Hyperion Financial Management Web MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/HFMWeb0/logging.xml
Oracle Hyperion Planning MIDDLEWARE_HOME/user_projects/domains/EPMSystem/config/fmwconfig/servers/Planning0/logging.xml

修改 ODL 配置文件

您可以修改在 logging.xml 中定义的日志记录程序的属性,以确定记录的消息级别。默认情况下,适用于 EPM System 组件正常操作的日志记录级别在 logging.xml 中设置。可以设置其他日志处理程序参数来更改日志记录行为。例如,可以通过将 rotationFrequency 参数包含到日志处理程序来指定日志记录文件轮转频率。有关参数的综合列表,请参阅表 3-9。

表 3-9 可配置的 ODL 日志属性

日志属性 说明

path

日志路径

format

要使用的格式

建议值为 ODL-Text。

maxFileSize

每个日志文件的最大大小(以字节为单位)

当主日志文件达到给定大小时,将触发日志轮转,之后会存档主日志文件并创建新的日志文件。

maxLogSize

整个日志的最大大小(以字节为单位)

删除较旧的存档文件,将日志总大小保持在给定限制之下。

rotationFrequency

日志的轮转频率(以分钟为单位)

该值必须为数字(表示分钟数),或字词 hourly、daily 或 weekly。(此设置不区分大小写。)

baseRotationTime

基于时间的日志轮转的基本时间;例如,rotationFrequency 设置的起始点

默认:1970 年 1 月 1 日,UTC

使用以下格式之一:

  • HH:mm

  • yyyy-MM-dd

  • yyyy-MM-ddT-HH:mm

  • yyyy-MM-dd-HH:mm:ss.sTZ,其中 TZ 是时区指示符,可以是 Z(针对 UTC),也可以是格林威治标准时间的偏移量(格式为 plus_or_minusHH:mmm)

注:

如果时间格式未指定时区,则使用本地时区。

retentionPeriod

日志文件的保留时间

早于给定期间的文件会删除。只有在发生日志轮转时,才会删除文件;任何后台线程都不会删除日志文件。因此,在保留期到期后的一段时间内,可能不会删除文件。该值必须为数字(表示分钟数),或者天、周、月(30 天)或年(值不区分大小写)。

encoding

要使用的字符编码的类型

XML 文件必须采用 UTF-8 编码才能处理扩展字符。默认为 <?xml version="1.0" encoding="UTF-8" ?>。

supplementalAttributes

补充属性名称的逗号分隔列表,可添加到每个日志消息中

该属性值必须在类 ExecutionContext 中定义。

useSourceClassAndMethod

是否应将 Java 源类和方法名称添加到每个日志消息中

该值为级别名称。给定级别或较低级别的消息包括源类和方法名称。也可接受常量 true 和 false 作为 OFF 和 ALL 的别名。默认值为 TRACE:1(精细)。

useDefaultAttributes

是否应将默认属性值添加到每个日志消息中

可以分配的默认属性为 HOST_ID、HOST_NWADDR 和 USER_ID。该值应为 true 或 false。对于 ODL-XML 格式,默认值为 true;对于 ODL-Text 格式,默认值为 false。

includeMessageArguments

消息参数是否包含在同样具有消息 ID 的格式化日志消息中

可能的值:true(默认值)或 false。

useThreadName

useThreadName 标志,用于控制处理程序是否尝试记录实际线程名称,而非由 java.util.logging.LogRecord 提供的 threadID。

如果该标志为 true,则处理程序尝试记录实际线程名称。在某些情况下,处理程序可能无法确定实际线程名称,如果出现这种情况,处理程序将记录 threadID。默认值为 true。

useRealThreadId

useRealThreadId 标志,用于控制处理程序是否尝试记录实际线程 ID,而非由 java.util.logging.LogRecord 提供的 threadID。

如果该标志为 true,则处理程序尝试记录实际线程 ID。在某些情况下,处理程序可能无法确定实际线程名称,如果出现这种情况,处理程序将记录 threadID。默认值为 false。对实际线程 ID 进行日志记录与 useThreadName 属性互相排斥。如果 useThreadName 为 true,则忽略 useRealThreadId 属性的值。

locale

用于本地化消息的默认区域设置覆盖

默认值为在 EPM System Configurator 中设置的默认区域设置。

keepOpen

主日志文件是始终保持打开状态,还是在每个日志操作时打开和关闭。

可能的设置:true 和 false。默认设置为 true,表示主日志文件始终保持打开状态。

大多数情况下应使用默认值。

autoFlushLevel

自动刷新的级别设置

ODLHandler 允许缓冲日志记录,但当其获取的日志记录级别等于或高于指定的 autoFlush 级别时,会自动刷新缓冲区。默认值为 NOTIFICATION:1。

addJvmNumber

添加到日志文件名称的 JVM 编号

JVM 编号由系统属性 oracle.process.index 定义。如果未设置该系统属性,则忽略此选项。

applicationContextProvider

用于实施 ApplicationContext 接口的类的名称

该类必须具有默认构造器。特殊值 disabled 可用于禁用应用程序名称的日志记录。默认应用程序上下文提供程序特定于平台;大多数情况下,无需设置此属性。

userContextProvider

用于实施 UserContext 接口的类的名称

该类必须具有默认构造器。特殊值 disabled 可用于禁用用户名的日志记录。默认用户上下文提供程序特定于平台;大多数情况下,无需设置此属性。

您可以修改日志记录程序的属性以调试组件,或生成 Oracle 技术支持请求的信息以查明 EPM System 组件的问题。

例如,要捕获 Oracle Hyperion Shared Services 调试消息,可将每个 Shared Services 日志记录程序定义中的日志记录级别更改为 TRACE:32。

注:

调试完成后,从备份副本还原原始 logging.xml,以确保日志记录设置最佳。

要修改日志记录配置文件:

  1. 对于日志记录行为要发生更改的 EPM System 组件,创建其日志记录配置文件的备份副本。请参阅“EPM System 产品日志记录矩阵表”。

  2. 使用文本编辑器打开 logging.xml。

  3. 找到日志记录程序定义。例如,要更改 Shared Services 的日志记录级别,请更改以下日志记录程序定义:

    <logger name="oracle.EPMCAS" level="NOTIFICATION:1" useParentHandlers="false">
         <handler name="epmcas-handler" />
    </logger>
    <logger name="oracle.EPMCES" level="NOTIFICATION:1" useParentHandlers="false">
         <handler name="epmces-handler" />
    </logger>
    <logger name="oracle.EPMCMS" level="NOTIFICATION:1" useParentHandlers="false">
         <handler name="epmcms-handler" />
    </logger>
    <logger level="NOTIFICATION:1" name="oracle.EPMCSS">
         <handler name="epmcss-handler" />
    </logger>
  4. 根据需要修改 level 属性以更改消息日志记录级别。例如,将每个日志记录程序的 level 属性设置为 TRACE:32 以记录详细的调试消息。

    请参阅“ODL 日志记录级别”。

  5. 保存并关闭 logging.xml。

  6. 重新启动 EPM System 组件以激活更改。