Oracle EBS WIP模塊Debug Log收集方法

之前每個模塊記錄日誌的方式都不同,都會把日誌寫到不同的文件中,對於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信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章