1 PACKAGE BODY INL_LOGGING_PVT AS
2 /* $Header: INLVLOGB.pls 120.4.12010000.1 2008/09/25 07:34:15 appldev ship $ */
3
4 -- API name : Log_Statement
5 -- Type : Private
6 -- Function : Level 1: Low-level progress reporting Log for Statements
7 -- Examples: "Obtaining connection from pool", "Got request parameter", "Set cookie with name, value"
8 -- Pre-reqs : None
9 -- Parameters :
10 -- IN : p_module_name IN VARCHAR2
11 -- p_procedure_name IN VARCHAR2
12 -- p_debug_info IN VARCHAR2
13 --
14 -- Version : Current version 1.0
15 --
16 -- Notes :
17 PROCEDURE Log_Statement (p_module_name IN VARCHAR2,
18 p_procedure_name IN VARCHAR2,
19 p_debug_info IN VARCHAR2)
20 IS
21 BEGIN
22 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL AND LENGTH(p_debug_info)>0) THEN
23 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,p_module_name||' '||p_procedure_name,p_debug_info);
24 END IF;
25 END Log_Statement;
26
27 -- API name : Log_Variable
28 -- Type : Private
29 -- Function : Level 1: Low-level progress reporting
30 -- Log for variable values
31 -- Pre-reqs : None
32 -- Parameters :
33 -- IN : p_module_name IN VARCHAR2
34 -- p_procedure_name IN VARCHAR2
35 -- p_var_name IN VARCHAR2
36 -- p_var_value IN VARCHAR2
37 --
38 -- Version : Current version 1.0
39 --
40 -- Notes :
41 PROCEDURE Log_Variable (p_module_name IN VARCHAR2,
42 p_procedure_name IN VARCHAR2,
43 p_var_name IN VARCHAR2,
44 p_var_value IN VARCHAR2)
45 IS
46 l_debug_info VARCHAR2(200);
47 BEGIN
48 l_debug_info := p_var_name||': ' ||p_var_value;
49 IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
50 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,p_module_name||' '||p_procedure_name,l_debug_info);
51 END IF;
52 END Log_Variable;
53
54 -- API name : Log_BeginProc
55 -- Type : Private
56 -- Function : Level 2: API level progress reporting
57 -- Log for Beginning of Procedure/Function
58 -- Pre-reqs : None
59 -- Parameters :
60 -- IN : p_module_name IN VARCHAR2
61 -- p_procedure_name IN VARCHAR2
62 --
63 -- Version : Current version 1.0
64 --
65 -- Notes :
66 PROCEDURE Log_BeginProc (p_module_name IN VARCHAR2,
67 p_procedure_name IN VARCHAR2)
68 IS
69 BEGIN
70 IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
71 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,'BEGIN(+)');
72 END IF;
73 END Log_BeginProc;
74
75 -- API name : Log_EndProc
76 -- Type : Private
77 -- Function : Level 2: API level progress reporting
78 -- Log for End of Procedure/Function
79 -- Pre-reqs : None
80 -- Parameters :
81 -- IN : p_module_name IN VARCHAR2
82 -- p_procedure_name IN VARCHAR2
83 --
84 -- Version : Current version 1.0
85 --
86 -- Notes :
87 PROCEDURE Log_EndProc (p_module_name IN VARCHAR2,
88 p_procedure_name IN VARCHAR2)
89 IS
90 BEGIN
91 IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
92 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,'END(-)');
93 END IF;
94 END Log_EndProc;
95
96 -- API name : Log_APICallIn
97 -- Type : Private
98 -- Function : Level 2: API level progress reporting
99 -- Log for Input Parameters API calls
100 -- Pre-reqs : None
101 -- Parameters :
102 -- IN : p_module_name IN VARCHAR2
103 -- p_procedure_name IN VARCHAR2
104 -- p_call_api_name IN VARCHAR2
105 -- p_in_param_name1 IN VARCHAR2 := NULL
106 -- p_in_param_value1 IN VARCHAR2 := NULL
107 -- p_in_param_name2 IN VARCHAR2 := NULL
108 -- p_in_param_value2 IN VARCHAR2 := NULL
109 -- p_in_param_name3 IN VARCHAR2 := NULL
110 -- p_in_param_value3 IN VARCHAR2 := NULL
111 -- p_in_param_name4 IN VARCHAR2 := NULL
112 -- p_in_param_value4 IN VARCHAR2 := NULL
113 -- p_in_param_name5 IN VARCHAR2 := NULL
114 -- p_in_param_value5 IN VARCHAR2 := NULL
115 -- p_in_param_name6 IN VARCHAR2 := NULL
116 -- p_in_param_value6 IN VARCHAR2 := NULL
117 -- p_in_param_name7 IN VARCHAR2 := NULL
118 -- p_in_param_value7 IN VARCHAR2 := NULL
119 -- p_in_param_name8 IN VARCHAR2 := NULL
120 -- p_in_param_value8 IN VARCHAR2 := NULL
121 -- p_in_param_name9 IN VARCHAR2 := NULL
122 -- p_in_param_value9 IN VARCHAR2 := NULL
123 -- p_in_param_name10 IN VARCHAR2 := NULL
124 -- p_in_param_value10 IN VARCHAR2 := NULL
125 --
126 -- Version : Current version 1.0
127 --
128 -- Notes :
129 PROCEDURE Log_APICallIn (p_module_name IN VARCHAR2,
130 p_procedure_name IN VARCHAR2,
131 p_call_api_name IN VARCHAR2,
132 p_in_param_name1 IN VARCHAR2 := NULL,
133 p_in_param_value1 IN VARCHAR2 := NULL,
134 p_in_param_name2 IN VARCHAR2 := NULL,
135 p_in_param_value2 IN VARCHAR2 := NULL,
136 p_in_param_name3 IN VARCHAR2 := NULL,
137 p_in_param_value3 IN VARCHAR2 := NULL,
138 p_in_param_name4 IN VARCHAR2 := NULL,
139 p_in_param_value4 IN VARCHAR2 := NULL,
140 p_in_param_name5 IN VARCHAR2 := NULL,
141 p_in_param_value5 IN VARCHAR2 := NULL,
142 p_in_param_name6 IN VARCHAR2 := NULL,
143 p_in_param_value6 IN VARCHAR2 := NULL,
144 p_in_param_name7 IN VARCHAR2 := NULL,
145 p_in_param_value7 IN VARCHAR2 := NULL,
146 p_in_param_name8 IN VARCHAR2 := NULL,
147 p_in_param_value8 IN VARCHAR2 := NULL,
148 p_in_param_name9 IN VARCHAR2 := NULL,
149 p_in_param_value9 IN VARCHAR2 := NULL,
150 p_in_param_name10 IN VARCHAR2 := NULL,
151 p_in_param_value10 IN VARCHAR2 := NULL)
152 IS
153 BEGIN
154 IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
155 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,' Call to '||p_call_api_name);
156 IF (p_in_param_name1 IS NOT NULL OR p_in_param_value1 IS NOT NULL) THEN
157 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name1||': '||p_in_param_value1);
158 END IF;
159 IF (p_in_param_name2 IS NOT NULL OR p_in_param_value2 IS NOT NULL) THEN
160 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name2||': '||p_in_param_value2);
161 END IF;
162 IF (p_in_param_name3 IS NOT NULL OR p_in_param_value3 IS NOT NULL) THEN
163 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name3||': '||p_in_param_value3);
164 END IF;
165 IF (p_in_param_name4 IS NOT NULL OR p_in_param_value4 IS NOT NULL) THEN
166 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name4||': '||p_in_param_value4);
167 END IF;
168 IF (p_in_param_name5 IS NOT NULL OR p_in_param_value5 IS NOT NULL) THEN
169 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name5||': '||p_in_param_value5);
170 END IF;
171 IF (p_in_param_name6 IS NOT NULL OR p_in_param_value6 IS NOT NULL) THEN
172 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name6||': '||p_in_param_value6);
173 END IF;
174 IF (p_in_param_name7 IS NOT NULL OR p_in_param_value7 IS NOT NULL) THEN
175 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name7||': '||p_in_param_value7);
176 END IF;
177 IF (p_in_param_name8 IS NOT NULL OR p_in_param_value8 IS NOT NULL) THEN
178 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name8||': '||p_in_param_value8);
179 END IF;
180 IF (p_in_param_name9 IS NOT NULL OR p_in_param_value9 IS NOT NULL) THEN
181 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name9||': '||p_in_param_value9);
182 END IF;
183 IF (p_in_param_name10 IS NOT NULL OR p_in_param_value10 IS NOT NULL) THEN
184 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_in_param_name10||': '||p_in_param_value10);
185 END IF;
186 END IF;
187 END Log_APICallIn;
188
189 -- API name : Log_APICallOut
190 -- Type : Private
191 -- Function : Level 2: API level progress reporting
192 -- Log for Input Parameters API calls
193 -- Pre-reqs : None
194 -- Parameters :
195 -- IN : p_module_name IN VARCHAR2
196 -- p_procedure_name IN VARCHAR2
197 -- p_call_api_name IN VARCHAR2
198 -- p_in_param_name1 IN VARCHAR2 := NULL
199 -- p_in_param_value1 IN VARCHAR2 := NULL
200 -- p_in_param_name2 IN VARCHAR2 := NULL
201 -- p_in_param_value2 IN VARCHAR2 := NULL
202 -- p_in_param_name3 IN VARCHAR2 := NULL
203 -- p_in_param_value3 IN VARCHAR2 := NULL
204 -- p_in_param_name4 IN VARCHAR2 := NULL
205 -- p_in_param_value4 IN VARCHAR2 := NULL
206 -- p_in_param_name5 IN VARCHAR2 := NULL
207 -- p_in_param_value5 IN VARCHAR2 := NULL
208 -- p_in_param_name6 IN VARCHAR2 := NULL
209 -- p_in_param_value6 IN VARCHAR2 := NULL
210 -- p_in_param_name7 IN VARCHAR2 := NULL
211 -- p_in_param_value7 IN VARCHAR2 := NULL
212 -- p_in_param_name8 IN VARCHAR2 := NULL
213 -- p_in_param_value8 IN VARCHAR2 := NULL
214 -- p_in_param_name9 IN VARCHAR2 := NULL
215 -- p_in_param_value9 IN VARCHAR2 := NULL
216 -- p_in_param_name10 IN VARCHAR2 := NULL
217 -- p_in_param_value10 IN VARCHAR2 := NULL
218 --
219 -- Version : Current version 1.0
220 --
221 -- Notes :
222 PROCEDURE Log_APICallOut (p_module_name IN VARCHAR2,
223 p_procedure_name IN VARCHAR2,
224 p_call_api_name IN VARCHAR2,
225 p_out_param_name1 IN VARCHAR2 := NULL,
226 p_out_param_value1 IN VARCHAR2 := NULL,
227 p_out_param_name2 IN VARCHAR2 := NULL,
228 p_out_param_value2 IN VARCHAR2 := NULL,
229 p_out_param_name3 IN VARCHAR2 := NULL,
230 p_out_param_value3 IN VARCHAR2 := NULL,
231 p_out_param_name4 IN VARCHAR2 := NULL,
232 p_out_param_value4 IN VARCHAR2 := NULL,
233 p_out_param_name5 IN VARCHAR2 := NULL,
234 p_out_param_value5 IN VARCHAR2 := NULL,
235 p_out_param_name6 IN VARCHAR2 := NULL,
236 p_out_param_value6 IN VARCHAR2 := NULL,
237 p_out_param_name7 IN VARCHAR2 := NULL,
238 p_out_param_value7 IN VARCHAR2 := NULL,
239 p_out_param_name8 IN VARCHAR2 := NULL,
240 p_out_param_value8 IN VARCHAR2 := NULL,
241 p_out_param_name9 IN VARCHAR2 := NULL,
242 p_out_param_value9 IN VARCHAR2 := NULL,
243 p_out_param_name10 IN VARCHAR2 := NULL,
244 p_out_param_value10 IN VARCHAR2 := NULL)
245 IS
246 BEGIN
247 IF ( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) THEN
248 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,' Returning from '||p_call_api_name);
249 IF (p_out_param_name1 IS NOT NULL OR p_out_param_value1 IS NOT NULL) THEN
250 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name1||': '||p_out_param_value1);
251 END IF;
252 IF (p_out_param_name2 IS NOT NULL OR p_out_param_value2 IS NOT NULL) THEN
253 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name2||': '||p_out_param_value2);
254 END IF;
255 IF (p_out_param_name3 IS NOT NULL OR p_out_param_value3 IS NOT NULL) THEN
256 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name3||': '||p_out_param_value3);
257 END IF;
258 IF (p_out_param_name4 IS NOT NULL OR p_out_param_value4 IS NOT NULL) THEN
259 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name4||': '||p_out_param_value4);
260 END IF;
261 IF (p_out_param_name5 IS NOT NULL OR p_out_param_value5 IS NOT NULL) THEN
262 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name5||': '||p_out_param_value5);
263 END IF;
264 IF (p_out_param_name6 IS NOT NULL OR p_out_param_value6 IS NOT NULL) THEN
265 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name6||': '||p_out_param_value6);
266 END IF;
267 IF (p_out_param_name7 IS NOT NULL OR p_out_param_value7 IS NOT NULL) THEN
268 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name7||': '||p_out_param_value7);
269 END IF;
270 IF (p_out_param_name8 IS NOT NULL OR p_out_param_value8 IS NOT NULL) THEN
271 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name8||': '||p_out_param_value8);
272 END IF;
273 IF (p_out_param_name9 IS NOT NULL OR p_out_param_value9 IS NOT NULL) THEN
274 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name9||': '||p_out_param_value9);
275 END IF;
276 IF (p_out_param_name10 IS NOT NULL OR p_out_param_value10 IS NOT NULL) THEN
277 FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,p_module_name||' '||p_procedure_name,p_out_param_name10||': '||p_out_param_value10);
278 END IF;
279 END IF;
280 END Log_APICallOut;
281
282 -- API name : Log_Event
283 -- Type : Private
284 -- Function : Level 3: High-level progress reporting Log for Events
285 -- Examples: "User authenticated successfully",
286 -- "Retrieved user preferences successfully", "Menu rendering completed"
287 -- Pre-reqs : None
288 -- Parameters :
289 -- IN : p_module_name IN VARCHAR2
290 -- p_procedure_name IN VARCHAR2
291 -- p_debug_info IN VARCHAR2
292 --
293 -- Version : Current version 1.0
294 --
295 -- Notes :
296 PROCEDURE Log_Event (p_module_name IN VARCHAR2,
297 p_procedure_name IN VARCHAR2,
298 p_debug_info IN VARCHAR2)
299 IS
300 BEGIN
301 IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL AND LENGTH(p_debug_info)>0) THEN
302 FND_LOG.STRING(FND_LOG.LEVEL_EVENT,p_module_name||' '||p_procedure_name,p_debug_info);
303 END IF;
304 END Log_Event;
305
306 -- API name : Log_Exception
307 -- Type : Private
308 -- Function : Level 4: Warnings, Handled internal software failure (may need fix, but not critical)
309 -- Log for Exceptions
310 -- Pre-reqs : None
311 -- Parameters :
312 -- IN : p_module_name IN VARCHAR2
313 -- p_procedure_name IN VARCHAR2
314 --
315 -- Version : Current version 1.0
316 --
317 -- Notes :
318 PROCEDURE Log_Exception (p_module_name IN VARCHAR2,
319 p_procedure_name IN VARCHAR2)
320 IS
321 BEGIN
322 IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
323 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,p_module_name||' '||p_procedure_name,SQLERRM);
324 END IF;
325 END Log_Exception;
326
327 -- API name : Log_ExpecError
328 -- Type : Private
329 -- Function : Level 5: External end-user error (typically requires end-user to fix the issue)
330 -- Log for Expected Error
331 -- Pre-reqs : None
332 -- Parameters :
333 -- IN : p_module_name IN VARCHAR2
334 -- p_procedure_name IN VARCHAR2
335 -- p_debug_info IN VARCHAR2
336 --
337 -- Version : Current version 1.0
338 --
339 -- Notes :
340 PROCEDURE Log_ExpecError (p_module_name IN VARCHAR2,
341 p_procedure_name IN VARCHAR2,
342 p_debug_info IN VARCHAR2 := NULL)
343 IS
344 BEGIN
345 IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
346 IF p_debug_info IS NOT NULL THEN
347 FND_LOG.STRING(FND_LOG.LEVEL_ERROR,p_module_name||' '||p_procedure_name,p_debug_info);
348 ELSE
349 FND_LOG.STRING(FND_LOG.LEVEL_ERROR,p_module_name||' '||p_procedure_name,SQLERRM);
350 END IF;
351 END IF;
352 END Log_ExpecError;
353
354 -- API name : Log_UnexpecError
355 -- Type : Private
356 -- Function : Level 6: Unhandlred internal software failure (typically requires cod/env fix)
357 -- Log for Unexpected Error
358 -- Pre-reqs : None
359 -- Parameters :
360 -- IN : p_module_name IN VARCHAR2
361 -- p_procedure_name IN VARCHAR2
362 --
363 -- Version : Current version 1.0
364 --
365 -- Notes :
366 PROCEDURE Log_UnexpecError (p_module_name IN VARCHAR2,
367 p_procedure_name IN VARCHAR2)
368 IS
369 BEGIN
370 IF ( FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
371 FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED,p_module_name||' '||p_procedure_name,SQLERRM);
372 END IF;
373 END Log_UnexpecError;
374
375 END INL_LOGGING_PVT;