Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logging #3

Open
4 tasks
lorenzleutgeb opened this issue Mar 23, 2017 · 3 comments
Open
4 tasks

Logging #3

lorenzleutgeb opened this issue Mar 23, 2017 · 3 comments

Comments

@lorenzleutgeb
Copy link

lorenzleutgeb commented Mar 23, 2017

Assumptions:

  • Stuff can and will go wrong.
  • Stuff will need to be debugged and we need debugging information.

Implications:

  • We need logging.
  • Research a list of logging libs in the Clojure ecosystem.
  • Pick one (probably the one most commonly used).
  • Include it and add some initial log statements.
  • Refine our logging to enable for traces and debugging scenarios.

Bonus Points: Generically use the logging library of the app/bot.

@lorenzleutgeb lorenzleutgeb changed the title Logging: Pick a logging library Logging Mar 23, 2017
@Sgoettschkes
Copy link
Contributor

Are there best practices regarding logging for libraries? It would be good if the app using the library could inject the already used logger which is configured (Channels to log to, log level, ...).

I'm not sure what best practices there are in Clojure regarding error handling.

@alekcz
Copy link

alekcz commented Jun 16, 2017

@lorenzleutgeb https://github.com/ptaoussanis/timbre perhaps?
Peter Taoussanis writes pretty amazing clojure libs. I've used some of his other libs. I haven't used this one but it's probably great too. It's got over 900 stars.

@Sgoettschkes
Copy link
Contributor

Here is my biggest issue with all the libraries I have looked at: The library has a "hard" dependency on the logging library, which needs to be configured. Now, an application usually has logging built in already and now there is a second way of logging which needs to be handled as well.

I have no idea what the clojure way of handling this is. From PHP I know they have standardized logging and many libraries will make logging optional by injecting a logging object if you want logging. This logging object is injected into every library and needs to be configured only once. If you do not want logging for a library, you do not inject the object.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants