object

# `debug_messages`

Supports selective enabling and disabling of debug and debug(Group) messages.

Author: Paulo Moura
Version: 1.0
Date: 2019/1/16
Compilation flags:
`static, context_switching_calls`
Provides:
logtalk::message_hook/4

## Public interface

### `enable/1`

Enables all debug and debug(Group) messages for the given component.

Compilation flags:
`static`
Template:
`enable(Component)`
Mode and number of proofs:
`enable(@term)` - `one`

### `disable/1`

Disables all debug and debug(Group) messages for the given component.

Compilation flags:
`static`
Template:
`disable(Component)`

### `enabled/1`

Enumerates by backtraking the components with enabled debug and debug(Group) messages.

Compilation flags:
`static`
Template:
`enabled(Component)`
Mode and number of proofs:
`enabled(?term)` - `zero_or_more`

### `enable/2`

Enables debug(Group) messages for the given component and group.

Compilation flags:
`static`
Template:
`enable(Component,Group)`
Mode and number of proofs:
`enable(@term,@term)` - `one`

### `disable/2`

Disables debug(Group) messages for the given component and group.

Compilation flags:
`static`
Template:
`disable(Component,Group)`
Mode and number of proofs:
`disable(@term,@term)` - `one`
`disable(@term,@term)` - `one`

### `enabled/2`

Enumerates by backtraking the enabled debug(Group) messages for each component.

Compilation flags:
`static`
Template:
`enabled(Component,Group)`
Mode and number of proofs:
`enabled(?term,?term)` - `zero_or_more`

## Protected interface

(see related entities)

## Private predicates

### `enabled_/1`

Table of components with currently enabled debug and debug(Group) messages.

Compilation flags:
`dynamic`
Template:
`enabled_(Component)`
Mode and number of proofs:
`enabled_(?term)` - `zero_or_more`

### `enabled_/2`

Table of currently enabled debug(Group) per component.

Compilation flags:
`dynamic`
Template:
`enabled_(Component,Group)`
Mode and number of proofs:
`enabled_(?term,?term)` - `zero_or_more`

## Operators

(none)

## Remarks

- Limitations: Debug messages are suppressed by the compiler when the “optimize” flag is turned on and thus cannot be enabled in this case.