Contents
Ramblings
- Loggers consider that the message context's resumes to a file (or class, or function, or line of code), thread name.
- Loggers assume that a message is actually a line of text.
- Loggers are not middlewares. They are not message routers, log collectors, stream databases, etc.
- The most important part is the API and the message structure.
Attempts
Go
mosaic-packages-repository/.../transcript -- general purpose, simple, reusable; (based on the one below;)
merekele/.../transcript -- general purpose, simple, reusable;
simple-logging-system (collector) -- early work, simple, kind of reusable;
Java
mosaic-java-platform/.../transcript -- general purpose, feature full, reusable; (based on the one below;)
mosaic-java-prototype/.../transcript -- general purpose, feature full, reusable;
logging-java -- logback extension, which streams events over AMQP -- general purpose, reusable, used in production;
Erlang
mosaic-erlang-node/.../transcript -- special purpose, simple, reusable;
volution-erlang-library/.../transcript -- very old, incipient work;
NodeJs
mosaic-node-wui/.../transcript -- general purpose, simple, reusable;
Python
mosaic-python-platform/.../transcript -- general purpose, feature full, reusable; (based on the one below;)
extremely-simple-cluster-platform/.../transcript -- general purpose, feature full, reusable;
simple-task-execution-system/.../transcript -- very old, incipient work;
C/C++
cooperative-coevolution/.../transcript -- special purpose, feature full, reusable;
volution-c-library/.../transcript -- very old, incipient work;
Scheme
volution-build-system/.../transcript -- general purpose, simple, reusable;
References
Articles, documentation, blogs, miscellaneous
Discussions
golang-nuts
idiomatic approach conditional inclusion/exclusion of code during debugging;
New method in log package to accomodate building logging wrapper over log package;
nodejs
(nodejs)
Implementations
I am aware that the Internet is an infinite universe, and thus there are countless other good solutions out there. But I have not included them here for one of the following reasons:
- I don't personally like them, or I have already listed a better alternative. Actually most of the projects listed below fit into this category, but they either have interesting ideas to steal, or they are ubiquitous, thus wordy to take a look at them. (Please don't mistake popularity with correctness.)
- I have not used, or worse not even taken a look at them, thus I can't know if they are good / interesting or not.
- Obviously, I didn't know about them, but I would like to.
Libraries
Go
Erlang
NodeJs
C/C++
glog;