-
Notifications
You must be signed in to change notification settings - Fork 95
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
Alternatives to slog-rs #17
Comments
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 :). OkayMay 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. Thoughts? |
Did you do any performance analysis already? |
No, just looked into the code. Having an experience with profiling/measuring many logging C++ libraries in the past, a brief look was enough at this moment. :) |
So what do you think is will drag the performance down? |
As usual: syscalls, heap allocation, cache misses and cache synchronization. Anyway, it's not the goal of the issue. |
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. Cheers! |
Hah. So it seems we all took inspiration from different projects, in other languages, no? |
Apparently so! 😄 |
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. |
Hi!
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:
Alternatives:
The text was updated successfully, but these errors were encountered: