Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Seems like we're both doing the same thing: https://github.com/3Hren/blacklog. Even goals are nearly the same.
I've started this project as a port of my another logging library for C++ focusing on structured logs, performance and configuration from generic source.
Since both our projects in the early alpha stage, maybe we should to calm down and reunite our forces on neutral territory?
What I suggest:
Hi! I knew that I'm going to miss someones crate! I need some time evaluate blacklog. With slog, I was kind of reaching the core feature completeness, and I think everything else can be implemented as additional crates. If blacklog has some features or potential for them that slog can't get, I'd be happy to merge or switch to help you. You could do the same with slog and we can discuss approaches. Worst case, if we disagree with our assesment, there can be two awesome structured logging crates for Rust. :)
I checked crates.io about 2 month ago and didn't find similar crate. For now I just didn't announce it, because blacklog requires nightly (temporary).
Yep, that's why I created this issue, because I believe that it is better to focus on a single great library instead of two with nearly-the-same functionality. However we need a third man for quorum :).
May I tell you what I want for every language to be available as libraries in three words: logs, metrics, tracing. I believe that it is the required tools all need for developing and debugging applications/libraries.
Yes, functionality is ok, but the performance can be better (much). Sadly, but sometimes it requires to rewrite everything from the scratch. That's why I suggested to calm down and to reunite - two clever heads is better than one.
Please correct me if I got something wrong.
It seems in
Logging configuration from a yaml file, seems like an important issue for you, while I kind of dismissed it. I hope it can be implemented as a 3rd-party
I really do like modularity in
As much as I can tell other other stuff seems very similar. Small difference in API (different macros), then trying to avoid clone, not block on anything much etc.
Actually I think the performance is very important and affects design and API a lot. I still do have couple of performance changes eg. reusing string, gathering log messages etc. But I hope the
Third effort! :-) https://github.com/emit-rs/emit
@KodrAus and I have been chipping away at this one when time permits for a little while. I think it's awesome that a few more options are appearing - in the long run the diversity will be good for the ecosystem.
While we're all exploring the design space I'm not sure there will be much shareable output, but I just wanted to drop you a line and let you both know we're out here, in case there's an opportunity to exchange ideas or collaborate down the track.
I'm closing this issue, but it's OK to keep chatting here. I even linked to it from README.
I'm quite content with what I got with slog: couple of more features, some polishing, and I'll release 1.0, and see if the project gains traction, are there any rev-dependencies, PRs etc.
I would be happy to share the project ownership, but I basically want to keep the top-level design that loggers form a hierarchy of key-value sequences, and output into a composable drains that perform all functions: multiplexing, filtering, formatting, io etc. I find it very elegant.