Skip to content

Commit 06c855f

Browse files
authored
Merge pull request #17 from oracle/Issue#7-Add-messageID-to-validation-results-logging
Added messageID to log messages produced from validation results
2 parents d115647 + 22ad3fc commit 06c855f

File tree

3 files changed

+156
-198
lines changed

3 files changed

+156
-198
lines changed

core/src/main/python/wlsdeploy/tool/validate/validation_results.py

Lines changed: 85 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
The Universal Permissive License (UPL), Version 1.0
44
"""
55

6+
import java.lang.System as JSystem
7+
import java.lang.Thread as JThread
68
import java.util.logging.Level as JLevel
9+
import java.util.logging.Logger as JLogger
10+
import java.util.logging.LogRecord as JLogRecord
11+
12+
from oracle.weblogic.deploy.exception import ExceptionHelper
713

814
from wlsdeploy.util import model
915
from wlsdeploy.tool.validate import validation_utils
@@ -61,32 +67,25 @@ def print_details(self):
6167
"""
6268

6369
for validation_result in self._validation_result_dict.values():
64-
if validation_result.get_errors_count() > 0 \
65-
or validation_result.get_warnings_count() > 0 \
66-
or validation_result.get_infos_count():
67-
68-
indent_level = 0
69-
validation_area = validation_utils.format_message('WLSDPLY-05200',
70-
validation_result.get_validation_area())
71-
validation_utils.print_blank_lines()
72-
validation_utils.print_indent(validation_utils.divider_string, indent_level)
73-
validation_utils.print_indent(validation_area, indent_level)
74-
validation_utils.print_indent(validation_utils.divider_string, indent_level)
70+
indent_level = 0
71+
if validation_result.get_infos_count() > 0:
72+
_print_results_category_details(validation_utils.format_message('WLSDPLY-05201'),
73+
validation_result.get_infos_count(),
74+
validation_result.get_infos_messages(), indent_level)
7575

76-
if validation_result.get_infos_count() > 0:
77-
_print_results_category_details(validation_utils.format_message('WLSDPLY-05201'),
78-
validation_result.get_infos_count(),
79-
validation_result.get_infos_messages(), indent_level)
80-
81-
if validation_result.get_warnings_count() > 0:
82-
_print_results_category_details(validation_utils.format_message('WLSDPLY-05202'),
83-
validation_result.get_warnings_count(),
84-
validation_result.get_warnings_messages(), indent_level)
76+
for validation_result in self._validation_result_dict.values():
77+
indent_level = 0
78+
if validation_result.get_warnings_count() > 0:
79+
_print_results_category_details(validation_utils.format_message('WLSDPLY-05202'),
80+
validation_result.get_warnings_count(),
81+
validation_result.get_warnings_messages(), indent_level)
8582

86-
if validation_result.get_errors_count() > 0:
87-
_print_results_category_details(validation_utils.format_message('WLSDPLY-05203'),
88-
validation_result.get_errors_count(),
89-
validation_result.get_errors_messages(), indent_level)
83+
for validation_result in self._validation_result_dict.values():
84+
indent_level = 0
85+
if validation_result.get_errors_count() > 0:
86+
_print_results_category_details(validation_utils.format_message('WLSDPLY-05203'),
87+
validation_result.get_errors_count(),
88+
validation_result.get_errors_messages(), indent_level)
9089

9190
def log_results(self, logger):
9291
"""
@@ -97,72 +96,73 @@ def log_results(self, logger):
9796

9897
if logger is not None:
9998
# Get counts for all the ValidationResult objects
100-
# in this ValidationResult object
99+
# in this ValidationResults object
101100
results_summary = self.__get_summary()
102101

103-
logger.set_level(JLevel.INFO)
102+
jlogger = JLogger.getLogger(logger.get_name(), logger.resource_bundle_name)
103+
104+
jlogger.setLevel(JLevel.INFO)
104105

105106
# Determine what the severity level is going to be for the
106107
# summary log message. Needs to be set in accordance with
107108
# what the severest validation message was.
108109
if results_summary['infos_count'] > 0:
109-
logger.set_level(JLevel.INFO)
110+
jlogger.setLevel(JLevel.INFO)
110111
if results_summary['warnings_count'] > 0:
111-
logger.set_level(JLevel.WARNING)
112+
jlogger.setLevel(JLevel.WARNING)
112113
if results_summary['errors_count'] > 0:
113-
logger.set_level(JLevel.SEVERE)
114+
jlogger.setLevel(JLevel.SEVERE)
114115

115116
total_messages_count = \
116117
int(results_summary['errors_count']) + int(results_summary['warnings_count']) + \
117118
int(results_summary['infos_count'])
118119

119-
logger.log(logger.get_level(),
120+
logger.log(jlogger.getLevel(),
120121
'WLSDPLY-05204',
121122
results_summary['errors_count'],
122123
results_summary['warnings_count'],
123124
results_summary['infos_count'],
124-
total_messages_count,
125125
class_name=self._class_name, method_name=_method_name)
126126

127+
if total_messages_count > 0:
128+
logger.log(jlogger.getLevel(), 'WLSDPLY-05207', total_messages_count,
129+
class_name=self._class_name, method_name=_method_name)
130+
127131
for validation_result in self._validation_result_dict.values():
128132
if validation_result.get_infos_count() > 0:
129-
logger.set_level(JLevel.INFO)
133+
jlogger.setLevel(JLevel.INFO)
130134
self.__log_results_category_details(validation_result.get_infos_messages(),
131-
_method_name, logger)
135+
_method_name, jlogger)
132136

133137
for validation_result in self._validation_result_dict.values():
134138
if validation_result.get_warnings_count() > 0:
135-
logger.set_level(JLevel.WARNING)
139+
jlogger.setLevel(JLevel.WARNING)
136140
self.__log_results_category_details(validation_result.get_warnings_messages(),
137-
_method_name, logger)
141+
_method_name, jlogger)
138142

139143
for validation_result in self._validation_result_dict.values():
140144
if validation_result.get_errors_count() > 0:
141-
logger.set_level(JLevel.SEVERE)
145+
jlogger.setLevel(JLevel.SEVERE)
142146
self.__log_results_category_details(validation_result.get_errors_messages(),
143-
_method_name, logger)
147+
_method_name, jlogger)
144148

145-
logger.set_level(JLevel.INFO)
149+
jlogger.setLevel(JLevel.INFO)
146150

147151
return
148152

149-
def __log_results_category_details(self, category_messages, method_name, logger):
153+
def __log_results_category_details(self, category_messages, method_name, jlogger):
150154
"""
151155
152156
:param category_messages:
153157
:param method_name:
154-
:param logger:
158+
:param jlogger:
155159
:return:
156160
"""
157161

158162
for i in range(len(category_messages)):
159163
messages = category_messages[i]
160-
if 'message' in messages:
161-
logger.log(logger.get_level(), message=messages['message'],
162-
class_name=self._class_name, method_name=method_name)
163-
elif 'valid_items' in messages:
164-
logger.log(logger.get_level(), message=messages['valid_items'],
165-
class_name=self._class_name, method_name=method_name)
164+
_log_category_message(jlogger, messages['resource_id'], messages['args'],
165+
class_name=self._class_name, method_name=method_name)
166166

167167
def __get_summary(self):
168168
"""
@@ -220,16 +220,28 @@ def _print_results_category_details(result_category, category_count, category_me
220220

221221
for i in range(len(category_messages)):
222222
messages = category_messages[i]
223-
if 'message' in messages:
224-
validation_utils.print_indent(
225-
validation_utils.format_message('WLSDPLY-05205', messages['message']), indent_level + 2
226-
)
227-
elif 'valid_items' in messages:
228-
validation_utils.print_indent(
229-
validation_utils.format_message('WLSDPLY-05206', messages['valid_items']), indent_level + 2
230-
)
231-
# if i == len(messages):
232-
# validation_utils.print_blank_lines()
223+
validation_utils.print_indent(
224+
ExceptionHelper.getMessage(messages['resource_id'], list(messages['args'])), indent_level + 2
225+
)
226+
227+
return
228+
229+
230+
def _log_category_message(jlogger, message, *args, **kwargs):
231+
method = kwargs.get('method_name', None)
232+
clazz = kwargs.get('class_name', None)
233+
record = JLogRecord(jlogger.getLevel(), message)
234+
record.setLoggerName(jlogger.getName())
235+
record.setMillis(JSystem.currentTimeMillis())
236+
record.setParameters(list(*args))
237+
record.setResourceBundle(jlogger.getResourceBundle())
238+
if clazz is not None:
239+
record.setSourceClassName(clazz)
240+
if method is not None:
241+
record.setSourceMethodName(method)
242+
record.setThreadID(int(JThread.currentThread().getId()))
243+
jlogger.log(record)
244+
return
233245

234246

235247
class ValidationResult(object):
@@ -268,41 +280,41 @@ def __str__(self):
268280

269281
return "{%s}" % tmp
270282

271-
def add_error(self, error_item_message, valid_items_message=None):
283+
def add_error(self, resource_id, *args):
272284
"""
273285
274-
:param error_item_message:
275-
:param valid_items_message:
286+
:param resource_id:
287+
:param args:
276288
:return:
277289
"""
278290
self._result['errors']['count'] += 1
279-
message = {'message': error_item_message}
280-
if valid_items_message is not None:
281-
message['valid_items'] = valid_items_message
291+
message = {'resource_id': resource_id, 'args': args}
282292
self._result['errors']['messages'].append(message)
293+
return
283294

284-
def add_warning(self, warning_item_message, valid_items_message=None):
295+
def add_warning(self, resource_id, *args):
285296
"""
286297
287-
:param warning_item_message:
288-
:param valid_items_message:
298+
:param resource_id:
299+
:param args:
289300
:return:
290301
"""
291302
self._result['warnings']['count'] += 1
292-
message = {'message': warning_item_message}
293-
if valid_items_message is not None:
294-
message['valid_items'] = valid_items_message
303+
message = {'resource_id': resource_id, 'args': args}
295304
self._result['warnings']['messages'].append(message)
305+
return
296306

297-
def add_info(self, info_item_message):
307+
def add_info(self, resource_id, *args):
298308
"""
299309
300-
:param info_item_message:
310+
:param resource_id:
311+
:param args:
301312
:return:
302313
"""
303314
self._result['infos']['count'] += 1
304-
message = {'message': info_item_message}
315+
message = {'resource_id': resource_id, 'args': args}
305316
self._result['infos']['messages'].append(message)
317+
return
306318

307319
def get_validation_area(self):
308320
"""
@@ -353,20 +365,14 @@ def get_infos_messages(self):
353365
"""
354366
return self._result['infos']['messages']
355367

356-
def print_details(self):
357-
pass
358-
359368
def __to_string(self, category_name):
360369
tmp = ' "%s": {' % category_name
361370
tmp += '"count": %d, ' % self._result[category_name]['count']
362371
tmp += '"messages": ['
363372
for message in self._result[category_name]['messages']:
364373
tmp += "{"
365-
message_list = message.keys()
366-
message_list.sort()
367-
for name in message_list:
368-
value = message[name]
369-
tmp += '"%s": "%s",' % (name, value)
374+
tmp += '"%s": "%s",' % ('message', ExceptionHelper.getMessage(message['resource_id'],
375+
list(message['args'])))
370376
if tmp[-1:] == ',':
371377
# Strip off trailing ','
372378
tmp = tmp[:-1]

0 commit comments

Comments
 (0)