# {py:mod}archivebox.misc.logging\_util

```{py:module}
```

```{autodoc2-docstring}
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`RuntimeStats <archivebox.misc.logging_util.RuntimeStats>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats
    :summary:
    ```
* - {py:obj}`TimedProgress <archivebox.misc.logging_util.TimedProgress>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.TimedProgress
    :summary:
    ```
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`progress_bar <archivebox.misc.logging_util.progress_bar>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.progress_bar
    :summary:
    ```
* - {py:obj}`log_cli_command <archivebox.misc.logging_util.log_cli_command>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_cli_command
    :summary:
    ```
* - {py:obj}`log_importing_started <archivebox.misc.logging_util.log_importing_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_importing_started
    :summary:
    ```
* - {py:obj}`log_source_saved <archivebox.misc.logging_util.log_source_saved>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_source_saved
    :summary:
    ```
* - {py:obj}`log_parsing_finished <archivebox.misc.logging_util.log_parsing_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_parsing_finished
    :summary:
    ```
* - {py:obj}`log_deduping_finished <archivebox.misc.logging_util.log_deduping_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_deduping_finished
    :summary:
    ```
* - {py:obj}`log_crawl_started <archivebox.misc.logging_util.log_crawl_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_crawl_started
    :summary:
    ```
* - {py:obj}`log_indexing_process_started <archivebox.misc.logging_util.log_indexing_process_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_process_started
    :summary:
    ```
* - {py:obj}`log_indexing_process_finished <archivebox.misc.logging_util.log_indexing_process_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_process_finished
    :summary:
    ```
* - {py:obj}`log_indexing_started <archivebox.misc.logging_util.log_indexing_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_started
    :summary:
    ```
* - {py:obj}`log_indexing_finished <archivebox.misc.logging_util.log_indexing_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_finished
    :summary:
    ```
* - {py:obj}`log_archiving_started <archivebox.misc.logging_util.log_archiving_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_started
    :summary:
    ```
* - {py:obj}`log_archiving_paused <archivebox.misc.logging_util.log_archiving_paused>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_paused
    :summary:
    ```
* - {py:obj}`log_archiving_finished <archivebox.misc.logging_util.log_archiving_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_finished
    :summary:
    ```
* - {py:obj}`log_snapshot_archiving_started <archivebox.misc.logging_util.log_snapshot_archiving_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_snapshot_archiving_started
    :summary:
    ```
* - {py:obj}`log_snapshot_archiving_finished <archivebox.misc.logging_util.log_snapshot_archiving_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_snapshot_archiving_finished
    :summary:
    ```
* - {py:obj}`log_archive_method_started <archivebox.misc.logging_util.log_archive_method_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_archive_method_started
    :summary:
    ```
* - {py:obj}`log_archive_method_finished <archivebox.misc.logging_util.log_archive_method_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_archive_method_finished
    :summary:
    ```
* - {py:obj}`log_list_started <archivebox.misc.logging_util.log_list_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_list_started
    :summary:
    ```
* - {py:obj}`log_list_finished <archivebox.misc.logging_util.log_list_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_list_finished
    :summary:
    ```
* - {py:obj}`log_removal_started <archivebox.misc.logging_util.log_removal_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_removal_started
    :summary:
    ```
* - {py:obj}`log_removal_finished <archivebox.misc.logging_util.log_removal_finished>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_removal_finished
    :summary:
    ```
* - {py:obj}`log_index_started <archivebox.misc.logging_util.log_index_started>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_index_started
    :summary:
    ```
* - {py:obj}`pretty_path <archivebox.misc.logging_util.pretty_path>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.pretty_path
    :summary:
    ```
* - {py:obj}`printable_filesize <archivebox.misc.logging_util.printable_filesize>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.printable_filesize
    :summary:
    ```
* - {py:obj}`format_duration <archivebox.misc.logging_util.format_duration>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.format_duration
    :summary:
    ```
* - {py:obj}`truncate_url <archivebox.misc.logging_util.truncate_url>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.truncate_url
    :summary:
    ```
* - {py:obj}`log_worker_event <archivebox.misc.logging_util.log_worker_event>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.log_worker_event
    :summary:
    ```
* - {py:obj}`printable_folders <archivebox.misc.logging_util.printable_folders>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.printable_folders
    :summary:
    ```
* - {py:obj}`printable_config <archivebox.misc.logging_util.printable_config>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.printable_config
    :summary:
    ```
* - {py:obj}`printable_folder_status <archivebox.misc.logging_util.printable_folder_status>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.printable_folder_status
    :summary:
    ```
* - {py:obj}`printable_dependency_version <archivebox.misc.logging_util.printable_dependency_version>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util.printable_dependency_version
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`_LAST_RUN_STATS <archivebox.misc.logging_util._LAST_RUN_STATS>`
  - ```{autodoc2-docstring} archivebox.misc.logging_util._LAST_RUN_STATS
    :summary:
    ```
````

### API

`````{py:class}
:canonical: archivebox.misc.logging_util.RuntimeStats

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats
```

````{py:attribute} skipped
:canonical: archivebox.misc.logging_util.RuntimeStats.skipped
:type: int
:value: >
   0

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.skipped
```

````

````{py:attribute} succeeded
:canonical: archivebox.misc.logging_util.RuntimeStats.succeeded
:type: int
:value: >
   0

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.succeeded
```

````

````{py:attribute} failed
:canonical: archivebox.misc.logging_util.RuntimeStats.failed
:type: int
:value: >
   0

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.failed
```

````

````{py:attribute} parse_start_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.parse_start_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.parse_start_ts
```

````

````{py:attribute} parse_end_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.parse_end_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.parse_end_ts
```

````

````{py:attribute} index_start_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.index_start_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.index_start_ts
```

````

````{py:attribute} index_end_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.index_end_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.index_end_ts
```

````

````{py:attribute} archiving_start_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.archiving_start_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.archiving_start_ts
```

````

````{py:attribute} archiving_end_ts
:canonical: archivebox.misc.logging_util.RuntimeStats.archiving_end_ts
:type: typing.Optional[datetime.datetime]
:value: >
   None

```{autodoc2-docstring} archivebox.misc.logging_util.RuntimeStats.archiving_end_ts
```

````

`````

````{py:data}
:canonical: archivebox.misc.logging_util._LAST_RUN_STATS
:value: >
   'RuntimeStats(...)'

```{autodoc2-docstring} archivebox.misc.logging_util._LAST_RUN_STATS
```

````

`````{py:class}
:canonical: archivebox.misc.logging_util.TimedProgress

```{autodoc2-docstring} archivebox.misc.logging_util.TimedProgress
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.misc.logging_util.TimedProgress.__init__
```

````{py:method} end()
:canonical: archivebox.misc.logging_util.TimedProgress.end

```{autodoc2-docstring} archivebox.misc.logging_util.TimedProgress.end
```

````

`````

````{py:function}
:canonical: archivebox.misc.logging_util.progress_bar

```{autodoc2-docstring} archivebox.misc.logging_util.progress_bar
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_cli_command

```{autodoc2-docstring} archivebox.misc.logging_util.log_cli_command
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_importing_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_importing_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_source_saved

```{autodoc2-docstring} archivebox.misc.logging_util.log_source_saved
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_parsing_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_parsing_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_deduping_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_deduping_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_crawl_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_crawl_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_indexing_process_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_process_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_indexing_process_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_process_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_indexing_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_indexing_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_indexing_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_archiving_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_archiving_paused

```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_paused
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_archiving_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_archiving_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_snapshot_archiving_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_snapshot_archiving_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_snapshot_archiving_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_snapshot_archiving_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_archive_method_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_archive_method_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_archive_method_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_archive_method_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_list_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_list_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_list_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_list_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_removal_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_removal_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_removal_finished

```{autodoc2-docstring} archivebox.misc.logging_util.log_removal_finished
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_index_started

```{autodoc2-docstring} archivebox.misc.logging_util.log_index_started
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.pretty_path

```{autodoc2-docstring} archivebox.misc.logging_util.pretty_path
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.printable_filesize

```{autodoc2-docstring} archivebox.misc.logging_util.printable_filesize
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.format_duration

```{autodoc2-docstring} archivebox.misc.logging_util.format_duration
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.truncate_url

```{autodoc2-docstring} archivebox.misc.logging_util.truncate_url
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.log_worker_event

```{autodoc2-docstring} archivebox.misc.logging_util.log_worker_event
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.printable_folders

```{autodoc2-docstring} archivebox.misc.logging_util.printable_folders
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.printable_config

```{autodoc2-docstring} archivebox.misc.logging_util.printable_config
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.printable_folder_status

```{autodoc2-docstring} archivebox.misc.logging_util.printable_folder_status
```
````

````{py:function}
:canonical: archivebox.misc.logging_util.printable_dependency_version

```{autodoc2-docstring} archivebox.misc.logging_util.printable_dependency_version
```
````
