forked from mirrors/gecko-dev
		
	|  40bb771e9f Under some conditions, logging fails with messages like:
```
--- Logging error ---
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/logging/__init__.py", line 1083, in emit
    msg = self.format(record)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/logging/__init__.py", line 927, in format
    return fmt.format(record)
  File "/Users/glandium/mozilla-unified/python/mach/mach/logging.py", line 156, in format
    formatted_msg = record.msg.format(**record.params)
AttributeError: 'LogRecord' object has no attribute 'params'
```
In those cases, the record does have a message, as expected, but it's
preformatted and there are no params in the record at all, rather than
an empty dict.
Differential Revision: https://phabricator.services.mozilla.com/D171408 | ||
|---|---|---|
| .. | ||
| docs | ||
| mach | ||
| .isort.cfg | ||
| bash-completion.sh | ||
| metrics.yaml | ||
| pings.yaml | ||
| README.rst | ||
| setup.cfg | ||
| setup.py | ||
==== mach ==== Mach (German for *do*) is a generic command dispatcher for the command line. To use mach, you install the mach core (a Python package), create an executable *driver* script (named whatever you want), and write mach commands. When the *driver* is executed, mach dispatches to the requested command handler automatically. To learn more, read the docs in ``docs/``.