lighthouse/lcli
Age Manning aa1ed787e9 Logging via the HTTP API (#4074)
This PR adds the ability to read the Lighthouse logs from the HTTP API for both the BN and the VC. 

This is done in such a way to as minimize any kind of performance hit by adding this feature.

The current design creates a tokio broadcast channel and mixes is into a form of slog drain that combines with our main global logger drain, only if the http api is enabled. 

The drain gets the logs, checks the log level and drops them if they are below INFO. If they are INFO or higher, it sends them via a broadcast channel only if there are users subscribed to the HTTP API channel. If not, it drops the logs. 

If there are more than one subscriber, the channel clones the log records and converts them to json in their independent HTTP API tasks. 

Co-authored-by: Michael Sproul <micsproul@gmail.com>
2023-05-22 05:57:08 +00:00
..
src Logging via the HTTP API (#4074) 2023-05-22 05:57:08 +00:00
.gitignore Move lcli out of the tests dir 2019-09-12 12:28:31 -04:00
Cargo.toml Post merge local testnets (#3807) 2023-05-17 05:51:54 +00:00
Dockerfile Bump Rust version (MSRV) (#4204) 2023-04-18 02:47:37 +00:00
README.md Refactor docs into mdbook (#547) 2019-10-02 11:04:56 +10:00

lcli

A command-line debugging tool, inspired by zcli.

Allows for replaying state transitions from SSZ files to assist in fault-finding.

Usage

$ cargo run --release -- --help