之前每个模块记录日志的方式都不同,都会把日志写到不同的文件中,对于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信息

FND Debug Log(FND_LOG_MESSAGES)的更多相关文章

  1. 应付模块的R12 TRACE 和 FND Debug 文件 / FND 日志 调试

     取得R12 TRACE: 1. 导航职责: 系统管理员> 配置文件> 系统> 查找 用户: 用户提交报表 配置: 初始化 SQL 语句 - 自定义 2. 点击用户栏位-编辑区域 ...

  2. salesforce 零基础学习(三十)工具篇:Debug Log小工具

    开发中查看log日志是必不可少的,salesforce自带的效果显示效果不佳,大概显示效果如下所示: chrome商城提供了apex debug log良好的插件,使debug log信息更好显示.假 ...

  3. 在Salesforce中通过 Debug Log 方式 跟踪逻辑流程

    在Salesforce中通过 Debug Log方式 跟踪逻辑流程 具体位置如下所示: Setup ---> Logs ---> Debug Logs ---> Monitored ...

  4. U3D Debug.log的问题

    今天在测试有yield有关的问题时,发现Debug.log()是异步输出机制.不一定会在调用后立即执行. 在C++有类似问题:std::cout 也不一定会立即输出,加上"\n"或 ...

  5. Android如何让真机显示debug log的调试信息

    真机默认是不开启debug log调试功能的,以前我一直用模拟器,模拟器默认是开启debug log调试功能的,那么如何让真机开启呢? 我用华为Ascend P6为例: 1.进入拨号界面,输入*#*# ...

  6. unity, 对于Debug.Log输出的log,可以双击定位到代码

    unity, 对于Debug.Log输出的log,可以双击定位到代码

  7. Python的DEBUG LOG

    一直在嵌入式行业,熟悉嵌入式的朋友都很了解嵌入式设备上DEBUG的麻烦,特别是一些缺乏断电工具和没有UI界面的设备.久而久之,开发一个新东西,首先就是要先搞定DEBUG手段.最近写了几个测试的pyth ...

  8. Nginx Debug Log

    //检查nginx.conf时(sudo ./nginx -t),输出数据到检测结果 //ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "配置解析处理&q ...

  9. android 让真机显示 DeBug Log调试信息

    真机默认是不开启Log 开关的,这么来说我们如果使用真机来搞程序测试的话,需要做以下几个步骤: 下面以华为手机为例开启手机的log功能:  1.在拨号界面输入:*#*#2846579#*#*  进入测 ...

随机推荐

  1. drools 手动创建kmoudle.xml文件

    @Test public void test() { KieServices kieServices = KieServices.Factory.get(); KieResources resourc ...

  2. 深入理解final关键字

    在了解了final关键字的基本用法之后,这一节我们来看一下final关键字容易混淆的地方. 1.类的final变量和普通变量有什么区别? 当用final作用于类的成员变量时,成员变量(注意是类的成员变 ...

  3. git遇到的问题

    push代码时出现的问题: ! [remote rejected] HEAD -> (unpacker error)) 解决办法: $ git push --no-thin origin rel ...

  4. jmeter录制APP时不能登录的问题

    问题描述: 录制APP时,其他一切挺顺利的,但在登录的时候提示"服务器发生未知错误,请稍后重试".一开始以为是接口问题,用python脚本调用了下,是可以登录的,排除接口问题.百度 ...

  5. VMWare 虚拟机 共享文件夹

    1.不能拷贝和直接拖拽文件至虚拟机系统中  解决办法:    通过共享文件夹的方式进行文件共享.   (Win7 32位  10.0版本的虚拟机). ①:选择虚拟机 虚拟机 → 设置  如下图: ②: ...

  6. block的那些事(从懵懂到使用)

    从大学开始自学iOS,在iOS岗位已经两年了,遇到传值等操作,代理和block二选一的话,以前我会毫不犹豫选择代理.久而久之,入职到大公司之后,发现处处是block的天地,才慢慢的了解block并爱上 ...

  7. Dynamics 365 Web Api之基于single-valued navigation property的filter查询

    本篇要讲的是dynamics 新版本中web api的一个改进功能,虽然改进的很有限,但至少是改进了. 举个例子,我们现在知道联系人的名字vic,我们想找出客户记录中主要联系人名字为vic的所有客户, ...

  8. Bootstrap3 代码-代码块

    多行代码可以使用 <pre> 标签.为了正确的展示代码,注意将尖括号做转义处理. <p>Sample text here...</p> <pre>< ...

  9. 非参数估计:核密度估计KDE

    http://blog.csdn.net/pipisorry/article/details/53635895 核密度估计Kernel Density Estimation(KDE)概述 密度估计的问 ...

  10. nginx 日志分析工具goaccess

    参考:https://www.goaccess.io/download 安装 $ wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz $ tar -xz ...