<p><code>net</code>: Networking. All messages related to communicating with other nodes on the network, including what P2P messages were sent and received and to whom and other information about the network messages.</p>

<p><code>tor</code>: TOR. All messages related to using a TOR SOCKS5 proxy and TOR hidden service (used for receiving incoming connections over TOR). This includes messages about the creation and shutdown of the TOR hidden service and messages about the connection to the TOR proxy.</p>

<p><code>mempool</code>: Memory pool. Messages related to actions done in the memory pool including the acceptance and removal of transactions.</p>

<p><code>http</code>: HTTP Server. Message related to the HTTP server that is used to handle the RPC requests. These messages will typically be for the startup and shutdown of the server as well as received requests.</p>

<p><code>bench</code>: Benchmarks. Messages about the performance of various parts of the software that can have performance issues.</p>

<p><code>zmq</code>: ZeroMQ. Messages about the ZeroMQ notification system, including the startup and shutdown of the service as well as when notifications are issued and new clients connected.</p>

<p><code>db</code>: Wallet Database. Messages about the status of the Berkeley Database engine used for the wallet database. This will include messages about the database flushes.</p>

<p><code>rpc</code>: RPC Server. Messages about the RPC server including its startup and shutdown as well as when commands are issued.</p>

<p><code>estimatefee</code>: Fee Estimation. Messages about the fee estimation algorithm including messages about when fee estimates are requested and information about the status of the fee estimator.</p>

<p><code>addrman</code>: Address Manager. Messages about the status of the address manager and when addresses are added or removed from the address manager database.</p>

<p><code>selectcoins</code>: Coin Selection. Messages about the UTXOs that are selected when sending money.</p>

<p><code>reindex</code>: Reindexing. Messages about the reindexing process, in particular errors about out of order blocks and repeated blocks.</p>

<p><code>cmpctblock</code>: Compact Blocks. Messages about the Compact Blocks relay protocol including when blocks are partially downloaded or reconstructed.</p>

<p><code>rand</code>: Randomness. Messages for when randomness is needed by any function.</p>

<p><code>prune</code>: Pruning. Messages about local blockchain pruning, including the result of a pruning operation.</p>

<p><code>proxy</code>: Proxy. Messages about using a SOCKS5 proxy and its authentication.</p>

<p><code>mempoolrej</code>: Memory pool Rejects. Messages about transactions that are rejected from the memory pool.</p>

<p><code>libevent</code>: Libevent. Messages about the <code>libevent</code> library which is used for the HTTP server.</p>

<p><code>coindb</code>: Coin Database. Messages about the coin database which contains the UTXO set. Includes messages about database flushes and writes.</p>

<p><code>qt</code>: Qt. Messages about Qt, the GUI framework.</p>

<p><code>leveldb</code>: LevelDB. Messages about LevelDB which is used for the block indexes and coin databse.</p>

<hr>

<p>Note that this is not an exhaustive list of the types of messages you will see for each category. Also some categories have many possible messages whilst others have very few.</p>

CC BY-SA 3.0
2017-12-29T07:57:33.060Z
Awesome, thank you. This is very helpful. You might want to consider adding this to the bitcoin github or wiki page (assuming it's not already there).
Edward Kerstein
CC BY-SA 4.0
2020-01-06T02:18:22.830Z
where in the source might one find this list?
mecampbellsoup
CC BY-SA 4.0
2020-01-06T16:39:00.900Z
The log categories can be found in src/logging.h as the enum LogFlags.
Ava Chow
CC BY-SA 4.0
2021-09-29T12:55:10.087Z
Also see this doc from Jon Atack: https://github.com/jonatack/bitcoin-development/blob/master/logging.md#log-categories
Michael Folkson
CC BY-SA 3.0
2017-12-29T07:23:46.110Z
2017-12-29T07:37:46.787Z
2017-12-29T07:37:46.787Z
Ava Chow
<p>In the bitcoin configuration you can set debug logging for the following categories. I can't seem to find an explanation of what each of these categories does. Can someone explain them or point me in the right direction?</p>
<blockquote>
<p>debug=category</p>
<p>Output debugging information (default: 0, supplying
 is optional). If  is not supplied or if
 = 1, output all debugging information.  can be:</p>
<p>net, tor, mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
libevent, coindb, qt, leveldb.</p>
</blockquote>

<bitcoind><bitcoin-core-development><debugging><logging>
What are the debug categories?
Edward Kerstein
# What are the debug categories?

(Asked by: username_0 on 2017-12-29)

In the bitcoin configuration you can set debug logging for the following categories. I can't seem to find an explanation of what each of these categories does. Can someone explain them or point me in the right direction?

> debug=category
>
> Output debugging information (default: 0, supplying
> is optional). If is not supplied or if
> = 1, output all debugging information. can be:
>
> net, tor, mempool, http, bench, zmq, db, rpc, estimatefee, addrman,
> selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej,
> libevent, coindb, qt, leveldb.

**Tags:** bitcoind, bitcoin-core-development, debugging, logging


---

## 1 answers

### Answer by username_1 on 2017-12-29. Score: 12 | Accepted answer

`net`: Networking. All messages related to communicating with other nodes on the network, including what P2P messages were sent and received and to whom and other information about the network messages.

`tor`: TOR. All messages related to using a TOR SOCKS5 proxy and TOR hidden service (used for receiving incoming connections over TOR). This includes messages about the creation and shutdown of the TOR hidden service and messages about the connection to the TOR proxy.

`mempool`: Memory pool. Messages related to actions done in the memory pool including the acceptance and removal of transactions.

`http`: HTTP Server. Message related to the HTTP server that is used to handle the RPC requests. These messages will typically be for the startup and shutdown of the server as well as received requests.

`bench`: Benchmarks. Messages about the performance of various parts of the software that can have performance issues.

`zmq`: ZeroMQ. Messages about the ZeroMQ notification system, including the startup and shutdown of the service as well as when notifications are issued and new clients connected.

`db`: Wallet Database. Messages about the status of the Berkeley Database engine used for the wallet database. This will include messages about the database flushes.

`rpc`: RPC Server. Messages about the RPC server including its startup and shutdown as well as when commands are issued.

`estimatefee`: Fee Estimation. Messages about the fee estimation algorithm including messages about when fee estimates are requested and information about the status of the fee estimator.

`addrman`: Address Manager. Messages about the status of the address manager and when addresses are added or removed from the address manager database.

`selectcoins`: Coin Selection. Messages about the UTXOs that are selected when sending money.

`reindex`: Reindexing. Messages about the reindexing process, in particular errors about out of order blocks and repeated blocks.

`cmpctblock`: Compact Blocks. Messages about the Compact Blocks relay protocol including when blocks are partially downloaded or reconstructed.

`rand`: Randomness. Messages for when randomness is needed by any function.

`prune`: Pruning. Messages about local blockchain pruning, including the result of a pruning operation.

`proxy`: Proxy. Messages about using a SOCKS5 proxy and its authentication.

`mempoolrej`: Memory pool Rejects. Messages about transactions that are rejected from the memory pool.

`libevent`: Libevent. Messages about the `libevent` library which is used for the HTTP server.

`coindb`: Coin Database. Messages about the coin database which contains the UTXO set. Includes messages about database flushes and writes.

`qt`: Qt. Messages about Qt, the GUI framework.

`leveldb`: LevelDB. Messages about LevelDB which is used for the block indexes and coin databse.

---

Note that this is not an exhaustive list of the types of messages you will see for each category. Also some categories have many possible messages whilst others have very few.

> **Comments:**
> **username_0**: Awesome, thank you. This is very helpful. You might want to consider adding this to the bitcoin github or wiki page (assuming it's not already there).  
> **username_2**: where in the source might one find this list?  
> **username_1**: The log categories can be found in src/logging.h as the enum LogFlags.  
> **username_3**: Also see this doc from Jon Atack: https://github.com/jonatack/bitcoin-development/blob/master/logging.md#log-categories  

---

