diff --git a/docs/config_reference.rst b/docs/config_reference.rst
index a3f5e04749..66f1c0a288 100644
--- a/docs/config_reference.rst
+++ b/docs/config_reference.rst
@@ -15,7 +15,7 @@ Even if a configuration object contains a list of other objects, this is not ref
For example, by ``systems.partitions.name`` we designate the ``name`` property of any partition object inside the ``partitions`` property of any system object inside the top level ``systems`` object.
If we were to use indices, that would be rewritten as ``systems[i].partitions[j].name`` where ``i`` indexes the systems and ``j`` indexes the partitions of the i-th system.
For cases, where the objects in a list are not homogeneous, e.g., the logging handlers, we surround the object type with ``..``.
-For example, the ``logging.handlers..filelog..name`` syntax designates the ``name`` attribute of the ``filelog`` logging handler.
+For example, the ``logging.handlers_perflog..filelog..name`` syntax designates the ``name`` attribute of the ``filelog`` logging handler.
.. |schemas/config.json| replace:: ``reframe/schemas/config.json``
.. _schemas/config.json: https://github.com/reframe-hpc/reframe/blob/master/reframe/schemas/config.json
@@ -1138,12 +1138,10 @@ The additional properties for the ``file`` handler are the following:
The ``filelog`` log handler
---------------------------
-This handler is meant primarily for performance logging and logs the performance of a test in one or more files.
+This handler is meant for performance logging only and logs the performance of a test in one or more files.
The additional properties for the ``filelog`` handler are the following:
-.. py:attribute:: logging.handlers..filelog..basedir
-
.. py:attribute:: logging.handlers_perflog..filelog..basedir
:required: No
@@ -1152,13 +1150,11 @@ The additional properties for the ``filelog`` handler are the following:
The base directory of performance data log files.
-.. py:attribute:: logging.handlers..filelog..prefix
-
.. py:attribute:: logging.handlers_perflog..filelog..prefix
:required: Yes
- This is a directory prefix (usually dynamic), appended to the :attr:`~config.logging.handlers..filelog..basedir`, where the performance logs of a test will be stored.
+ This is a directory prefix (usually dynamic), appended to the :attr:`~config.logging.handlers_perflog..filelog..basedir`, where the performance logs of a test will be stored.
This attribute accepts any of the check-specific `formatting placeholders <#config.logging.handlers_perflog.format>`__.
This allows to create dynamic paths based on the current system, partition and/or programming environment a test executes with.
For example, a value of ``%(check_system)s/%(check_partition)s`` would generate the following structure of performance log files:
@@ -1177,8 +1173,6 @@ The additional properties for the ``filelog`` handler are the following:
...
-.. py:attribute:: logging.handlers..filelog..append
-
.. py:attribute:: logging.handlers_perflog..filelog..append
:required: No
@@ -1197,11 +1191,9 @@ The additional properties for the ``filelog`` handler are the following:
The ``graylog`` log handler
---------------------------
-This handler sends log records to a `Graylog `__ server.
+This handler is meant for performance logging only and sends log records to a `Graylog `__ server.
The additional properties for the ``graylog`` handler are the following:
-.. py:attribute:: logging.handlers..graylog..address
-
.. py:attribute:: logging.handlers_perflog..graylog..address
:required: Yes
@@ -1209,8 +1201,6 @@ The additional properties for the ``graylog`` handler are the following:
The address of the Graylog server defined as ``host:port``.
-.. py:attribute:: logging.handlers..graylog..extras
-
.. py:attribute:: logging.handlers_perflog..graylog..extras
:required: No
@@ -1317,8 +1307,6 @@ The ``httpjson`` log handler
This handler sends log records in JSON format to a server using HTTP POST requests.
The additional properties for the ``httpjson`` handler are the following:
-.. py:attribute:: logging.handlers..httpjson..url
-
.. py:attribute:: logging.handlers_perflog..httpjson..url
:required: Yes
@@ -1326,8 +1314,6 @@ The additional properties for the ``httpjson`` handler are the following:
The URL to be used in the HTTP(S) request server.
-.. py:attribute:: logging.handlers..httpjson..extra_headers
-
.. py:attribute:: logging.handlers_perflog..httpjson..extra_headers
:required: No
@@ -1339,8 +1325,6 @@ The additional properties for the ``httpjson`` handler are the following:
.. versionadded:: 4.2
-.. py:attribute:: logging.handlers..httpjson..extras
-
.. py:attribute:: logging.handlers_perflog..httpjson..extras
:required: No
@@ -1349,8 +1333,6 @@ The additional properties for the ``httpjson`` handler are the following:
A set of optional key/value pairs to be passed with each log record to the server.
These may depend on the server configuration.
-.. py:attribute:: logging.handlers..httpjson..ignore_keys
-
.. py:attribute:: logging.handlers_perflog..httpjson..ignore_keys
:required: No
@@ -1380,8 +1362,6 @@ An example configuration of this handler for performance logging is shown here:
This handler transmits the whole log record, meaning that all the information will be available and indexable at the remote end.
-.. py:attribute:: logging.handlers..httpjson..debug
-
.. py:attribute:: logging.handlers_perflog..httpjson..debug
:required: No
@@ -1393,8 +1373,6 @@ This handler transmits the whole log record, meaning that all the information wi
.. versionadded:: 4.1
-.. py:attribute:: logging.handlers..httpjson..json_formatter
-
.. py:attribute:: logging.handlers_perflog..httpjson..json_formatter
A callable for converting the log record into JSON.
@@ -1406,8 +1384,8 @@ This handler transmits the whole log record, meaning that all the information wi
:arg record: The prepared log record.
The log record is a simple Python object with all the attributes listed in :attr:`~config.logging.handlers.format`, as well as all the default Python `log record `__ attributes.
In addition to those, there is also the special :attr:`__rfm_check__` attribute that contains a reference to the actual test for which the performance is being logged.
- :arg extras: Any extra attributes specified in :attr:`~config.logging.handlers..httpjson..extras`.
- :arg ignore_keys: The set of keys specified in :attr:`~config.logging.handlers..httpjson..ignore_keys`.
+ :arg extras: Any extra attributes specified in :attr:`~config.logging.handlers_perflog..httpjson..extras`.
+ :arg ignore_keys: The set of keys specified in :attr:`~config.logging.handlers_perflog..httpjson..ignore_keys`.
ReFrame always adds the default Python log record attributes in this set.
:returns: A string representation of the JSON record to be sent to the server or :obj:`None` if the record should not be sent to the server.
diff --git a/docs/manpage.rst b/docs/manpage.rst
index 2730cdf638..c2173430e7 100644
--- a/docs/manpage.rst
+++ b/docs/manpage.rst
@@ -1321,7 +1321,7 @@ Whenever an environment variable is associated with a configuration option, its
================================== ==================
Associated command line option N/A
- Associated configuration parameter :attr:`~config.logging.handlers..graylog..address`
+ Associated configuration parameter :attr:`~config.logging.handlers_perflog..graylog..address`
================================== ==================
@@ -1338,7 +1338,7 @@ Whenever an environment variable is associated with a configuration option, its
================================== ==================
Associated command line option N/A
- Associated configuration parameter :attr:`~config.logging.handlers..httpjson..url`
+ Associated configuration parameter :attr:`~config.logging.handlers_perflog..httpjson..url`
================================== ==================
@@ -1445,7 +1445,7 @@ Whenever an environment variable is associated with a configuration option, its
================================== ==================
Associated command line option :option:`--perflogdir`
- Associated configuration parameter :attr:`~config.logging.handlers..filelog..basedir`
+ Associated configuration parameter :attr:`~config.logging.handlers_perflog..filelog..basedir`
================================== ==================
diff --git a/reframe/schemas/config.json b/reframe/schemas/config.json
index bee3a273bf..d2bb4551db 100644
--- a/reframe/schemas/config.json
+++ b/reframe/schemas/config.json
@@ -412,11 +412,9 @@
"items": {
"anyOf": [
{"$ref": "#/defs/file_handler"},
- {"$ref": "#/defs/filelog_handler"},
{"$ref": "#/defs/graylog_handler"},
{"$ref": "#/defs/stream_handler"},
- {"$ref": "#/defs/syslog_handler"},
- {"$ref": "#/defs/httpjson_handler"}
+ {"$ref": "#/defs/syslog_handler"}
]
}
},
@@ -425,11 +423,9 @@
"items": {
"anyOf": [
{"$ref": "#/defs/file_handler"},
- {"$ref": "#/defs/filelog_handler"},
{"$ref": "#/defs/graylog_handler"},
{"$ref": "#/defs/stream_handler"},
- {"$ref": "#/defs/syslog_handler"},
- {"$ref": "#/defs/httpjson_handler"}
+ {"$ref": "#/defs/syslog_handler"}
]
},
"minItems": 1
@@ -442,7 +438,8 @@
{"$ref": "#/defs/filelog_handler"},
{"$ref": "#/defs/graylog_handler"},
{"$ref": "#/defs/stream_handler"},
- {"$ref": "#/defs/syslog_handler"}
+ {"$ref": "#/defs/syslog_handler"},
+ {"$ref": "#/defs/httpjson_handler"}
]
}
},
@@ -566,17 +563,17 @@
"logging/handlers*/file_append": false,
"logging/handlers*/file_name": "",
"logging/handlers*/file_timestamp": false,
- "logging/handlers*/filelog_append": true,
- "logging/handlers*/filelog_basedir": "./perflogs",
- "logging/handlers*/graylog_extras": {},
- "logging/handlers*/httpjson_extras": {},
- "logging/handlers*/httpjson_ignore_keys": [],
- "logging/handlers*/httpjson_json_formatter": null,
- "logging/handlers*/httpjson_extra_headers": {},
- "logging/handlers*/httpjson_debug": false,
"logging/handlers*/stream_name": "stdout",
"logging/handlers*/syslog_socktype": "udp",
"logging/handlers*/syslog_facility": "user",
+ "logging/handlers_perflog/filelog_append": true,
+ "logging/handlers_perflog/filelog_basedir": "./perflogs",
+ "logging/handlers_perflog/graylog_extras": {},
+ "logging/handlers_perflog/httpjson_extras": {},
+ "logging/handlers_perflog/httpjson_ignore_keys": [],
+ "logging/handlers_perflog/httpjson_json_formatter": null,
+ "logging/handlers_perflog/httpjson_extra_headers": {},
+ "logging/handlers_perflog/httpjson_debug": false,
"modes/options": [],
"modes/target_systems": ["*"],
"systems/descr": "",