`
wsql
  • 浏览: 12034270 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

FND Debug Log(FND_LOG_MESSAGES)

 
阅读更多

之前每个模块记录日志的方式都不同,都会把日志写到不同的文件中,对于User来说很麻烦,需要记住很多的配置,现在越来越多的模块使用FND Logging来存储日志,比如WIP,RCV,OAF...FND Debug Log会把Apps的日志输出到FND_LOG_MESSAGES表里。

怎样收集FND的日志

Step 1 profile设置(user级)
FND: Debug Log Level,这个level,可以设置为Unexpected,Error,Exception,Event,Procedure或者Statement,一般情况下设置Log Level为"Statement" level。

FND: Debug Log Enabled 设置为Yes

FND: Debug Log Module
设置为 %,如果你大概知道你的问题是那个模块下的问题,你可以设置这个profile为po%,hr%,fnd%,WIP%...这样收集的日志会更少,也更容易分析。

补充:设置为statement的好处,它会记录所有的日志,如果你只想查看Error的日志,那么你可以在查询语句中限定log_level=5,那么只会输出error级别的日志。

UNEXPECTED:Level Id = 6
ERROR :Level Id = 5
EXCEPTION :Level Id = 4
EVENT :Level Id = 3
PROCEDURE :Level Id = 2
STATEMENT :Level Id = 1

Step 2 重现你的问题

Step 3 从fnd_lot_messages表中收集日志

SELECT *
FROM fnd_log_messages
WHERE user_id = 209122 /*your FND_USER user_id here*/
AND TIMESTAMP > SYSDATE - .3
ORDER BY log_sequence

注意:如果你要收集Concurrent Request的日志,可以用下边的SQL查fnd的日志

select module, to_char(timestamp,'DD-MON-YYYY HH24:MI:SS'), message_text
from fnd_log_messages
where timestamp > sysdate - 2/24
and process_id = ( select os_process_id from fnd_concurrent_requests where request_id = &request_id)
and module like 'po%'


什么样的日志会记录到fnd_log_messages表中

使用fnd_log.STRING(log_level => fnd_log.level_statement,module => 'xxpo.packagename.procedurename',message => 'debug message here');记录的日志,在会在fnd_log_messages表中才能查到。到现在为止还有很多模块不是用fnd_log.STRING的方式来记录日志,还在使用utl_file.put_line来写日志到一个文件,比如inv模块。


如果业务回滚了,那么记录到fnd_log_messages表中的日志是否也会回滚

不会,fnd_log.string调用的procedure定义为pragma AUTONOMOUS_TRANSACTION (自治事务)里边有commit.所以日志不会被回滚掉。


清理fnd_log_messages表

fnd_log_messages表如果太大,肯定会影响性能,所以最好定期清理这张表,Oracle官方提供了一个program去清理这张表。11i这个program叫"Purge Debug Log and System Alerts",R12里改名字了,叫"Purge Logs and Closed System Alerts",需要在system admin职责下运行,这个program默认是scheduled to run daily,并清理7天前的log数据。program会清理以下这些表:
FND_EXCEPTION_NOTES;
FND_OAM_BIZEX_SENT_NOTIF;
FND_LOG_METRICS;
FND_LOG_UNIQUE_EXCEPTIONS;
FND_LOG_EXCEPTIONS;
FND_LOG_MESSAGES;
FND_LOG_TRANSACTION_CONTEXT;
FND_LOG_ATTACHMENTS
这些表都是包含debug或者error信息。

转载请注明出处:http://blog.csdn.net/pan_tian/article/details/7688987

====EOF====


分享到:
评论

相关推荐

    fnd_message

    `FND_MESSAGE.DEBUG` - **功能**:这是一个调试辅助过程,可以用来输出指定的字符串值,便于追踪程序执行流程或变量状态。 - **参数**:接受一个 VARCHAR2 类型的参数 `value`,表示要输出的信息。 - **应用场景**...

    Oracle ERP_EBS常用表表名

    * fnd_flex_value_sets * fnd_flex_values * fnd_flex_values_vl ----弹性域 * fnd_id_flexs * fnd_id_flex_structures where id_flex_code=""GL#"" * fnd_id_flex_segments where id_flex_code=""GL#"" and id...

    FND_SE_FPGAVHDL_

    标题"FND_SE_FPGAVHDL_"所暗示的是一个与FPGA(Field-Programmable Gate Array)相关的项目,其中使用了VHDL(VHSIC Hardware Description Language)语言进行设计。VHDL是一种用于电子设计自动化(EDA)的硬件描述...

    FND_TEST.zip_practice

    这个“FND_TEST.zip_practice”压缩包包含了一个名为“FND_TEST.v”的Verilog源代码文件,显然是为了提供一个实践练习的例子。在这里,我们将深入探讨Verilog的基本概念和它在设计中的应用。 Verilog HDL,于1983年...

    form builder develop

    1 手动提交Request 在Form里面,我们可以用 APPS.FND_REQUEST.SUBMIT_REQUEST 提交一个Request到Oracle Request Manager。 如果提交成功,该函数返回Request ID,否则,返回0。

    fnd-Examples.rar_按钮控件

    "fnd-Examples.rar_按钮控件"这个压缩包提供了一些关于如何使用VC++(Visual C++)来创建和管理按钮控件的实例,包括模态和非模态对话框的应用。下面我们将详细讨论这两个概念以及它们与按钮控件的关系。 首先,让...

    FND.zip_IAR embedded source_startrzh_supposeztu_zip

    标题"FND.zip_IAR Embedded Source_startrzh_supposeztu_zip"揭示了这是一份与IAR嵌入式开发相关的源代码压缩包,主要用于STM32F10x系列微控制器。描述"Controlling a FND Source"暗示了这个代码可能涉及到对某种...

    Oracle Form开发--Form消息提示

    今天学到在系统中定义的消息不仅可以当作普通的消息来引用展示(如文章以下所有内容),还可以把它当作一个固定变量来使用 ,通过使用FND_MESSAGE.SET_NAME和FND_MESSAGE.GET。 例如以下代码是把系统中定义的GME_...

    Oralce 触发器

    --创建触发器 create or replace trigger trigger_customerLink before insert on customerLink_table for each row when (new.id is null) begin select seq_link_id.nextval into:new.id from dual;...

    file_fnd.zip_源码

    标题中的"file_fnd.zip_源码"表明这是一个包含了Delphi编程语言的源代码文件集合。这个组件,可能被命名为"File Finder",是用于在计算机系统中查找特定文件或文件夹的一个工具。源码是程序员可以查看、修改和学习的...

    Oracle Forms&Reports开发

    例如,你可以使用FND_MESSAGE.ADD_MESSAGE和FND_MESSAGE.SHOW_MESSAGES来添加和显示消息。 5. **应用场景**: Oracle Forms & Reports广泛应用于Oracle EBS中的各种业务流程,如财务管理、库存管理、采购和销售...

    ORACLE_EBS常用表查询语句1

    主要涉及的表可能包括`FND_MENU`和`FND_FUNCTION`。例如,以下SQL可以列出所有菜单项: ```sql SELECT menu_name, display_sequence, parent_menu_id FROM fnd_menu WHERE application_id = 'YOUR_APPLICATION_...

    Oracle Compile

    `ConcurrentRequest:`部分的命令`$FND_TOP/bin/FNDLOADapps/apps0YDOWNLOAD@FND:patch/115/import/afcpprog.lctC_CUX_CREDIT_DEBIT_DETAIL.ldt`展示了如何使用FNDLOAD工具来加载或更新一个名为`C_CUX_CREDIT_DEBIT_...

    EBS_FND_单据序列和序列分配API开发

    在文档《EBS_FND_单据序列和序列分配API开发》中,详细介绍了如何开发用于管理单据序列和分配的API,以提高维护效率并解决现有数据维护方法的不足。 知识点一:EBS单据序列管理的需求背景 在EBS系统中,维护单据...

    EBS相关表及表间关系

    - **FND_CONCURRENT_QUEUE_SIZE**与**FND_CONCURRENT_TIME_PERIODS**通过**CONCURRENT_TIME_PERIOD_ID**关联,表示队列大小与时间周期的关联。 #### 四、总结 通过对EBS中的关键数据库表及其之间的关系进行详细分析...

    oracle报表经典语句[参考].pdf

    查询在菜单中提交的报表所在的职责,这需要理解Oracle Forms和菜单结构,涉及到`FND_RESPONSIBILITY_VL`, `FND_MENU_ENTRIES_VL`, `FND_FORM_FUNCTIONS_VL`, `FND_REQUEST_GROUPS`, `FND_REQUEST_GROUP_UNITS`, `...

    EBS FORM开发常用技巧

    Oracle Forms是Oracle数据库系统中的一个组件,主要用于构建企业级的图形用户界面(GUI)应用程序,尤其是在数据库交互方面。本文将深入探讨"EBS FORM开发常用技巧",这些技巧可以帮助开发者更高效、更专业地进行...

    OracleEBSFlexField弹性域技术专题

    OracleEBSFlexField弹性域技术专题

Global site tag (gtag.js) - Google Analytics