Helix icon indicating copy to clipboard operation
Helix copied to clipboard

Rewrite Log service

Open renatomassaro opened this issue 6 years ago • 1 comments

This will be a rather large PR meant to enhance (but mostly rewrite) the Log service.

The biggest improvement is that now logs are structured data with pre-defined types, as opposed to the old Log system who was simply a string, void of any context.

So we changed from:

String: "localhost downloaded file Cracker.crc (1.0) from 1.2.3.4"

to

Struct: {type: :download_gateway, file_name: "Cracker.crc (1.0)", ip: "1.2.3.4", network_id: "::"}

To the end user this change is transparent (the struct will be "translated" to the string above anyways). But this allows for:

  • easier/better i18n support
  • enhanced log editing support / UI
  • easier support on log-based features (e.g. Log X should have field Y updated to contain Z)

  • [x] Support structured Log format
  • [x] Rewrite Log internals
  • [x] LogPaginateRequest
  • [ ] LogFilterRequest
  • [x] LogIndex
  • [x] LogHenforcer
  • [x] LogForgeRequest
    • [x] LogForgeHenforcer
  • [x] LogFactor
  • [x] LogForgeProcess
    • [x] Create
    • [x] Edit
  • [x] LogRecoverRequest
    • [x] LogRecoverHenforcer
  • [x] LogRecoverProcess
    • [x] Global
    • [x] Custom
  • [x] LogAddedEvent
  • [x] LogRecoveredEvent
  • [x] LogRevisedEvent
  • [x] LogDestroyedEvent

Incidental

  • Removed LogFactory
  • Completely removed ex_machina dependency :tada:
  • Added tgt_log_id on Process.t struct
  • Added set_relay/3 macro for Helix.Factor
  • Added SIGRETARGET, i.e. support for recursive process type (#324)
  • Added custom pre-hook at Process.Executable

This change is Reviewable

renatomassaro avatar Jul 28 '18 22:07 renatomassaro

Ebert has finished reviewing this Pull Request and has found:

  • 5 possible new issues (including those that may have been commented here).
  • 6 fixed issues! 🎉

You can see more details about this review at https://ebertapp.io/github/HackerExperience/Helix/pulls/410.

sourcelevel-bot[bot] avatar Aug 30 '18 06:08 sourcelevel-bot[bot]