=================== SnapRAID Log Format =================== 1 DESCRIPTION ============= This document describes the structured log tags output by SnapRAID, which are designed to be used by tools monitoring the SnapRAID processing state. The tags provide information in an easy-to-parse format, ideal for automation and integration. To capture these structured log tags, you must use the `--log` option with SnapRAID. You can direct the output to a specific file, or force the output to the standard output or standard error using the special arguments `>&1` or `>&2`. Note that these arguments often need to be quoted on the command line to prevent the shell from interpreting them. Example: snapraid status --log ">&2" The output tags strictly adhere to the following format: NAME:VALUE:VALUE:VALUE... NAME This is the primary tag identifier, always a lowercase string without spaces (e.g., `summary`, `block`, `info_time`). VALUE Following the `NAME`, these can be additional sub-identifiers, descriptive names (like a disk name), or numeric/string data values. They are separated by a colon `:`. Each tag is terminated by an end-of-line character. This document provides a summary of the tags generated by SnapRAID. For the most detailed and up-to-date information regarding the meaning and context of the values, it is recommended to check the source code's `log_tag()` statements. When a path is output, it is always escaped using a backslash (\) as the escape character. The following characters are escaped into sequences: The colon - is escaped to \d. The newline - is escaped to \n. The carriage return - is escaped to \r. The backslash - is escaped to \\. Some tags are output only when the `--gui` option is used. They provide extra verbose state and runtime progress only useful for a GUI interface. 2 CONFIGURATION TAGS ==================== These tags report the memory usage and global configuration after scanning the disk and reading the list of files. conf:file: Configuration file loaded (escaped). conf:missing: Operating without a configuration file. blocksize: The configured block size in bytes (uint). data:: The data disks as defined in the configuration file. - The assigned name of the disk. - The directory entry point of the disk. mode: The RAID mode used. One of `par1`, `par2`, `par3`, `par4`, `par5`, `par6` or `parz`. The number indicates the maximum number of simultaneous disk failures the array can withstand. :: The parity files as defined in the configuration file. - One of `parity`, `2-parity`, ..., `6-parity`. This corresponds to the level of redundancy. - The split index (uint). If no multiple split parity is configured, there is only the index 0. A split parity configuration distributes parity blocks across multiple files. - The path (escaped). pool: The configured dir to the pool mount point (escaped). This is the optional mount point for the 'pool' feature. share: The configured dir to the pool mount point (escaped). This is the optional mount point for the 'share' feature. autosave: If the autosave feature is enabled, and after how many bytes (uint64). This specifies the interval for content file saving. filter: All the active filters with their patterns. These patterns exclude specific files or directories from the SnapRAID array. filter:nohidden: If the no-hidden filter is enabled, meaning hidden files/directories (starting with '.') are excluded from the array. content: The absolute path to a content file being used (escaped). Content files store the metadata (like file hashes and timestamps) for the array. content::::: The parity files as stored in the content file. - One of `parity`, `2-parity`, ..., `6-parity`. - The split index (uint). If no multiple split parity is configured, there is only the index 0. - The path (escaped). - The UUID of the partition containing the path. - The size of the parity file. Size is -1 if not yet fixed, meaning it can grow. This happens for the latest split. 3 DIAGNOSTICS TAGS ================== version: The version of SnapRAID run. unixtime: