embark-area-51/lib
emizzle 728713a183
Embark blockchain logs when running standalone
When running `embark blockchain` followed by `embark run` previously, logs generated in the standalone `embark blockchain` process were black boxed and not accessible to the main Embark process.

This is fixed by creating a client IPC connection in the `embark blockchain` process that connects to the IPC server connection running in `embark run`. The connection is made by way of polling `ipc.connect` and continues polling even after a connection is made in case `embark run` is killed and restarted without restarting `embark blockchain`.

`LogHandler` was introduced to extrapolate functionality used in `ProcessLauncher` that needed to also be used in the standalone blockchain process. It also caps the number of logs that are stored in memory per process by a constant value defined in `constants.json`.

A `blockchain_listener` was module was created (and run inside of `embark run`) that listens for logs emitted by the `embark blockchain` client IPC and runs them through the `LogHandler`. Additionally, this module registers the API endpoints needed to handle requests for blockchain process logs in the cockpit (which were 404’ing before).

# Conflicts:
#	lib/modules/blockchain_process/blockchain.js
2018-10-25 12:51:43 +02:00
..
core Embark blockchain logs when running standalone 2018-10-25 12:51:43 +02:00
modules Embark blockchain logs when running standalone 2018-10-25 12:51:43 +02:00
utils Embark blockchain logs when running standalone 2018-10-25 12:51:43 +02:00
constants.json Embark blockchain logs when running standalone 2018-10-25 12:51:43 +02:00
index.js Overwrite log file so .embark doesn’t bloat 2018-10-23 10:54:35 +02:00