1: PACKAGE DOM_LOG as
2: /* $Header: DOMULOGS.pls 120.0 2006/07/14 22:16:18 mkimizuk noship $*/
3:
4: /* --------------------------------------------------------------------
5: -- DOM_LOG package is wrapper of FND_LOG and PL/SQL Utiliteis to
6: -- for DOM Loggin Framework on top of Oracle Applications Logging Framework
7: --
8: -- The Oracle Applications Logging Framework (aka FND Logging Framework)
9: -- allows developers to log debug, error and alert messages to a central repository
4: /* --------------------------------------------------------------------
5: -- DOM_LOG package is wrapper of FND_LOG and PL/SQL Utiliteis to
6: -- for DOM Loggin Framework on top of Oracle Applications Logging Framework
7: --
8: -- The Oracle Applications Logging Framework (aka FND Logging Framework)
9: -- allows developers to log debug, error and alert messages to a central repository
10: -- which is shared by both database and middle-tier servers. PL/SQL, Java, and C APIs are provided.
11: -- There are numerous mechanisms available for controlling which messages are logged.
12: -- Documentation for this package is at
15: --
16: --
17: -- How to Log from PL/SQL in OA Logging Fwk
18: --
19: -- PL/SQL APIs are a part of the FND_LOG Package.
20: -- These APIs assume that appropriate application user session initialization APIs
21: -- (for example, FND_GLOBAL.INITIALIZE(..)) have already been invoked for setting up
22: -- the user session properties on the database Session. These application user session
23: -- properties (UserId, RespId, AppId, SessionId) are internally needed for the Log APIs.
22: -- the user session properties on the database Session. These application user session
23: -- properties (UserId, RespId, AppId, SessionId) are internally needed for the Log APIs.
24: -- Typically, all Oracle Application Frameworks (CP, OAF, JTT, Forms, etc.) take care of
25: -- invoking these session initialization APIs for you.
26: -- Plain-text messages should be logged using FND_LOG.STRING(..),
27: -- and translatable Message Dictionary Messages should be logged using FND_LOG.MESSAGE(..). FND_LOG.MESSAGE(..) logs
28: -- the Message in encoded (not translated) format, and allows the Log Viewer UI to handle the translation of the Message
29: -- based on the language preferences of the Sysadmin viewing the Messages.
30: -- For FND_LOG API details please refer to: $fnd/patch/115/sql/AFUTLOGB.pls
23: -- properties (UserId, RespId, AppId, SessionId) are internally needed for the Log APIs.
24: -- Typically, all Oracle Application Frameworks (CP, OAF, JTT, Forms, etc.) take care of
25: -- invoking these session initialization APIs for you.
26: -- Plain-text messages should be logged using FND_LOG.STRING(..),
27: -- and translatable Message Dictionary Messages should be logged using FND_LOG.MESSAGE(..). FND_LOG.MESSAGE(..) logs
28: -- the Message in encoded (not translated) format, and allows the Log Viewer UI to handle the translation of the Message
29: -- based on the language preferences of the Sysadmin viewing the Messages.
30: -- For FND_LOG API details please refer to: $fnd/patch/115/sql/AFUTLOGB.pls
31: --
26: -- Plain-text messages should be logged using FND_LOG.STRING(..),
27: -- and translatable Message Dictionary Messages should be logged using FND_LOG.MESSAGE(..). FND_LOG.MESSAGE(..) logs
28: -- the Message in encoded (not translated) format, and allows the Log Viewer UI to handle the translation of the Message
29: -- based on the language preferences of the Sysadmin viewing the Messages.
30: -- For FND_LOG API details please refer to: $fnd/patch/115/sql/AFUTLOGB.pls
31: --
32: -- In DOM PL/SQL API, utilize DOM_LOG Package which is the wrapper util of FND_LOG
33: --
34: -- DOM Log Level is defined in global var DOM_LOG_LEVEL CONSTANT NUMBER default: FND_LOG.LEVEL_PROCEDURE
28: -- the Message in encoded (not translated) format, and allows the Log Viewer UI to handle the translation of the Message
29: -- based on the language preferences of the Sysadmin viewing the Messages.
30: -- For FND_LOG API details please refer to: $fnd/patch/115/sql/AFUTLOGB.pls
31: --
32: -- In DOM PL/SQL API, utilize DOM_LOG Package which is the wrapper util of FND_LOG
33: --
34: -- DOM Log Level is defined in global var DOM_LOG_LEVEL CONSTANT NUMBER default: FND_LOG.LEVEL_PROCEDURE
35: --
36: --
30: -- For FND_LOG API details please refer to: $fnd/patch/115/sql/AFUTLOGB.pls
31: --
32: -- In DOM PL/SQL API, utilize DOM_LOG Package which is the wrapper util of FND_LOG
33: --
34: -- DOM Log Level is defined in global var DOM_LOG_LEVEL CONSTANT NUMBER default: FND_LOG.LEVEL_PROCEDURE
35: --
36: --
37: -- Example
38: -- Assuming AOL Session Initialization has occurred and logging is enabled, the following calls would log a message:
67: -- fnd_profile.put('AFLOG_ENABLED', 'Y');
68: -- fnd_profile.put('AFLOG_MODULE', 'dom%');
69: -- fnd_profile.put('AFLOG_LEVEL', '2');
70: -- fnd_profile.put('AFLOG_FILENAME', '');
71: -- fnd_log_repository.init;
72: --
73: -- Do not ship any code with these calls! Shipping code that internally hard codes
74: -- Log Properties is a severe P1 bug. Logging should always be externally configurable
75: -- using the Log Properties, and internally hard coding log properties would prevent this.
107:
108: ---------------------------------------
109: -- LOG Level
110: ---------------------------------------
111: LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED ; -- 6
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
108: ---------------------------------------
109: -- LOG Level
110: ---------------------------------------
111: LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED ; -- 6
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
116: LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 1
109: -- LOG Level
110: ---------------------------------------
111: LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED ; -- 6
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
116: LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 1
117:
110: ---------------------------------------
111: LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED ; -- 6
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
116: LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 1
117:
118: ---------------------------------------
111: LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED ; -- 6
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
116: LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 1
117:
118: ---------------------------------------
119: -- DOM LOG Level
112: LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR; -- 5
113: LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION; -- 4
114: LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT; -- 3
115: LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 2
116: LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE; -- 1
117:
118: ---------------------------------------
119: -- DOM LOG Level
120: ---------------------------------------
117:
118: ---------------------------------------
119: -- DOM LOG Level
120: ---------------------------------------
121: -- We enable Dom PL/SQL Log at FND_LOG.LEVEL_PROCEDURE Level
122: DOM_LOG_LEVEL CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE ;
123:
124: ---------------------------------------
125: -- DOM LOG Module Prefix
118: ---------------------------------------
119: -- DOM LOG Level
120: ---------------------------------------
121: -- We enable Dom PL/SQL Log at FND_LOG.LEVEL_PROCEDURE Level
122: DOM_LOG_LEVEL CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE ;
123:
124: ---------------------------------------
125: -- DOM LOG Module Prefix
126: ---------------------------------------
123:
124: ---------------------------------------
125: -- DOM LOG Module Prefix
126: ---------------------------------------
127: -- We enable Dom PL/SQL Log at FND_LOG.LEVEL_PROCEDURE Level
128: DOM_LOG_PREFIX CONSTANT VARCHAR2(10) := 'dom.plsql.' ;
129:
130:
131: --
163: -- displayed to the user later.
164: -- Example usage:
165: -- FND_MESSAGE.SET_NAME(...); -- Set message
166: -- FND_MESSAGE.SET_TOKEN(...); -- Set token in message
167: -- FND_LOG.MESSAGE(..., FALSE); -- Log message
168: -- FND_MESSAGE.RAISE_ERROR; -- Display message
169: PROCEDURE MESSAGE(MODULE IN VARCHAR2,
170: POP_MESSAGE IN BOOLEAN DEFAULT NULL);
171: