trufflehog/pkg/log
Miccah f3367d7910
[THOG-643] Implement independent log level controls (#733)
* [THOG-643] Implement independent log level controls

There are two log level controls to mentally distinguish. Log levels
associated with a sink (e.g. stdout and streamed), and log levels
associated with a logger (e.g. a GitHub source).

The level is determined to be the minimum of the two. If a sink is at
level 0, then it will only output level 0 logs regardless of the
logger's level. This is best demonstrated by TestSinkWithName.

* Rename WithName to WithNamedLevel

* Check flush errors

* Replace IncreaseLevelCore with custom LevelCore

Adding a leveler that was less verbose would cause the initialization
fail, and therefore not be added to the core. This check is only at
the time of initialization.

An alternative approach to creating our own core is to set the child log
level equal to the parent, so initialization is guaranteed (with the
added benefit of intuitive behavior).

* Use controller if it exists, otherwise inherit parent's log level

* Cleanup some tests
2022-08-26 15:27:09 -05:00
..
core.go [THOG-643] Implement independent log level controls (#733) 2022-08-26 15:27:09 -05:00
level.go [THOG-643] Implement independent log level controls (#733) 2022-08-26 15:27:09 -05:00
log.go [THOG-643] Implement independent log level controls (#733) 2022-08-26 15:27:09 -05:00
log_test.go [THOG-643] Implement independent log level controls (#733) 2022-08-26 15:27:09 -05:00