ODL 配置

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

日志记录配置文件由两部分组成:log_handlersloggerslog_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

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

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

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 源类和方法名称添加到每个日志消息中

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

useDefaultAttributes

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

可以分配的默认属性为 HOST_ID、HOST_NWADDR 和 USER_ID。该值应为 truefalse。对于 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 属性互相排斥。如果 useThreadNametrue,则忽略 useRealThreadId 属性的值。

locale

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

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

keepOpen

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

可能的设置:truefalse。默认设置为 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 组件以激活更改。