Skip to content

Commit fd7068d

Browse files
authored
Merge pull request #3578 from vkarak/feat/deprecate-perflog-compat
[feat] Replace `perflog_compat` with `perflog_multiline` in logging configuration
2 parents 1102ce8 + 3b437b1 commit fd7068d

File tree

4 files changed

+30
-5
lines changed

4 files changed

+30
-5
lines changed

docs/config_reference.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,8 +1141,24 @@ You may define different logger objects per system but *not* per partition.
11411141
:default: :obj:`False`
11421142

11431143
Emit a separate log record for each performance variable.
1144+
11441145
Set this option to :obj:`True` if you want to keep compatibility with the performance logging prior to ReFrame 4.0.
11451146

1147+
.. deprecated:: 4.9
1148+
1149+
Please use :attr:`~config.logging.perflog_multiline` instead.
1150+
1151+
1152+
.. py:attribute:: logging.perflog_multiline
1153+
1154+
:required: No
1155+
:default: :obj:`False`
1156+
1157+
Emit a separate log record for each performance variable.
1158+
1159+
.. versionadded:: 4.9
1160+
1161+
11461162
.. py:attribute:: logging.target_systems
11471163
11481164
:required: No

reframe/frontend/cli.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -938,6 +938,13 @@ def restrict_logging():
938938
site_config = config.load_config(*conf_files)
939939
site_config.validate()
940940

941+
# Issue deprecation warnings
942+
if site_config.get('logging/0/perflog_compat'):
943+
printer.warning(
944+
'the `perflog_compat` configuration option is deprecated; '
945+
'please use `perflog_multiline` instead'
946+
)
947+
941948
if options.autodetect_method:
942949
printer.warning('RFM_AUTODETECT_METHOD is deprecated; '
943950
'please use RFM_AUTODETECT_METHODS instead')

reframe/frontend/executors/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,9 @@ def __init__(self, case, listeners=None, timeout=None):
232232

233233
# Performance logging
234234
self._perflogger = logging.null_logger
235-
self._perflog_compat = runtime.runtime().get_option(
236-
'logging/0/perflog_compat'
237-
)
235+
self._perflog_multiline = runtime.runtime().get_option(
236+
'logging/0/perflog_multiline'
237+
) or runtime.runtime().get_option('logging/0/perflog_compat')
238238

239239
def duration(self, phase):
240240
# Treat pseudo-phases first
@@ -526,7 +526,7 @@ def finalize(self):
526526
self._notify_listeners('on_task_success')
527527
try:
528528
self._perflogger.log_result(logging.INFO, self,
529-
multiline=self._perflog_compat)
529+
multiline=self._perflog_multiline)
530530
except LoggingError as e:
531531
getlogger().warning(
532532
f'could not log performance data for {self.testcase}: {e}'
@@ -551,7 +551,7 @@ def _wait_job(job):
551551
self._notify_listeners(callback)
552552
try:
553553
self._perflogger.log_result(logging.INFO, self,
554-
multiline=self._perflog_compat)
554+
multiline=self._perflog_multiline)
555555
except LoggingError as e:
556556
getlogger().warning(
557557
f'could not log performance data for {self.testcase}: {e}'

reframe/schemas/config.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@
440440
"properties": {
441441
"level": {"$ref": "#/defs/loglevel"},
442442
"perflog_compat": {"type": "boolean"},
443+
"perflog_multiline": {"type": "boolean"},
443444
"handlers": {
444445
"type": "array",
445446
"items": {
@@ -621,6 +622,7 @@
621622
"general/verbose": 0,
622623
"logging/level": "undefined",
623624
"logging/perflog_compat": false,
625+
"logging/perflog_multiline": false,
624626
"logging/target_systems": ["*"],
625627
"logging/handlers": [],
626628
"logging/handlers_perflog": [],

0 commit comments

Comments
 (0)