This will use a lock provided by IndicatifLayer to ensure that output doesn't get overwritten as the progress bars are displayed.
In order to ensure that STDOUT_WRITER and STDERR_WRITER are always available, they default to stdout and stderr respectively, then as logging is initialized they are replaced with the writer provided by IndicatifLayer, which under the hood uses a mutext when writing to the console.
This will use a lock provided by IndicatifLayer to ensure that output doesn't get overwritten as the progress bars are displayed.
In order to ensure that STDOUT_WRITER and STDERR_WRITER are always available, they default to stdout and stderr respectively, then as logging is initialized they are replaced with the writer provided by IndicatifLayer, which under the hood uses a mutext when writing to the console.