OUT: Location of log in UTF-8/ASCII (file path/name) (On Windows, this must be ASCII)
OUT: Size in bytes of the location string
OUT: Whether the logging begins as soon as the file is opened or created
The metadata cache is a central part of the HDF5 library through which all file metadata reads and writes take place. File metadata is normally invisible to the user and is used by the library for purposes such as locating and indexing data. File metadata should not be confused with user metadata, which consists of attributes created by users and attached to HDF5 objects such as datasets via H5A API calls.
Due to the complexity of the cache, a trace/logging feature has been created that can be used by HDF5 developers for debugging and performance analysis. The functions that control this functionality will normally be of use to a very limited number of developers outside of The HDF Group. The functions have been documented to help users create logs that can be sent with bug reports.
Control of the log functionality is straightforward. Logging is enabled via the H5P_SET_MDC_LOG_OPTIONS function, which will modify the file access property list used to open or create a file. This function has a flag that determines whether logging begins at file open or starts in a paused state. Log messages can then be controlled via the H5F_START_LOGGING / H5F_STOP_LOGGING functions. H5P_GET_MDC_LOG_OPTIONS can be used to examine a file access property list, and H5F_GET_MDC_LOGGING_STATUS will return the current state of the logging flags.