invenia / Memento.jl

A flexible logging library for Julia
https://invenia.github.io/Memento.jl/latest
Other
88 stars 14 forks source link

Existing handlers #97

Open scls19fr opened 6 years ago

scls19fr commented 6 years ago

Hello,

I noticed in https://www.youtube.com/watch?v=Q0L-at3PyU8 that you are using CloudWatchLogs.jl as logging handler Maybe Memento doc should give a non exhaustive list of logging handlers for Memento. Such a list could be added to https://github.com/invenia/Memento.jl/blob/master/docs/src/man/handlers.md

Kind regard

PS:

scls19fr commented 6 years ago

Python logbook package provides a quite big list of logging handlers http://logbook.readthedocs.io/en/stable/quickstart.html#handlers Maybe implementing some handlers could be an interesting exercice for JuliaCon 2018 Hackaton? See https://discourse.julialang.org/t/recruiting-package-authors-for-juliacon-hackathon-mentoring-guidance/12453

rofinn commented 6 years ago

Currently, the handler behaviour is split between handlers (e.g., DefaultHandler, CloudWatchLogs) and custom IO types (e.g., FileRoller, Syslogs.jl). This is largely a hold over from the Lumberjack.jl days. I think the plan is to convert the custom IO types into handlers and perhaps split the DefaultHandler into a ConsoleHandler and StreamHandler.

If you'd like to implement a BulkSMS and Pushover handler the main things to keep in mind are that you'll want to override the getfilters(::Handler) and emit(::Handler, rec::Record) methods. Everything else should just work after that.