glog
cargo-geiger
Our great sponsors
glog | cargo-geiger | |
---|---|---|
8 | 30 | |
3,511 | 1,310 | |
0.3% | 1.8% | |
5.5 | 5.4 | |
22 days ago | 7 days ago | |
Go | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
glog
-
Best Logging Library for Golang
I started a poll on r/golang with these four candidates, but also came to know about glog which was a go port of a C++ project by Google. I used that option in the poll conducted on LinkedIn.
-
Have you replaced Sirupsen/logrus, and if so, with what?
Other than print and formatted print to stdout and stderr, what more do you need? I adapted much of the glog rationale into a logging wrapper. Allowing many thousands of unneeded lines from Logrus to be avoided. https://github.com/golang/glog
-
what go logging pkg that output/hides logs according to verbosity -v flag ?
check out glog, it supports flags out out the box
-
Backdooring Rust crates for fun and profit
By globals, I mean global resources outside of the codes namespace. It may not even be a resource in the process, such as a log file or temporary directory or a database. If you have two versions of a crate in their completely separate worlds, and call both of their init_logging() functions to log to a file specified by an environment variable, things are likely to go pear shaped when they stomp over each others log file.
I'm a Rust novice, but the example I tripped over in Go was https://github.com/golang/glog. It has a module level init() initialization routine that makes calls to the stdlib flags package, manipulating the default command line flags (a global resource). If you ended up with multiple versions of glog via transient dependencies, your program would panic on startup as the second version's init() would make calls only allowed to be called once. Rust thankfully avoids this particular one by requiring initialization to be called by main() (apart from the hack described in the article).
-
Lumber: A simple and pretty logger for Golang
There is no better way than looking at your older brothers and learning from them: stdlib log, glog, logrus, zerolog, log15 (eth fork)...
-
simple logging module for Go - Glog
Also glog is the name of Google logging library which is confusing. https://github.com/golang/glog
-
Simple leveled logging solution
the 5th hit looks like something made 6-8 yrs ago which would have worked: https://github.com/golang/glog
-
can someone review my code?
Read similar repos, compare, learn: https://github.com/rs/zerolog https://christine.website/blog/ln-the-natural-logger-2020-10-17 https://github.com/sirupsen/logrus https://github.com/golang/glog https://github.com/nikandfor/tlog (this one is mine)
cargo-geiger
-
Was Rust Worth It?
Instead of looking at the crates themselves, you might want to check your (or others') Rust application with https://github.com/rust-secure-code/cargo-geiger to get a sense of effective prevalence. I also dispute that the presence of unsafe somewhere in the dependency tree is an issue in itself, but that's a different discussion that many more had in other sub-threads.
-
Found a language in development called Vale which claims to be the safest AOT compiled language in the World (Claims to beSafer than Rust)
There's still plenty. Run cargo geiger on any of your projects and see for yourself.
-
Question Omnibus: Dependency Fingerprinting, Unsafe Rust, and Memory Safety
On point 2, the answer is cargo geiger, and judging how much memory safety you need for a given project.
- pliron: An extensible compiler IR framework, inspired by MLIR and written in safe Rust.
-
[Discussion] What crates would you like to see?
You can use cargo-geiger or cargo-crev to check for whether people you trusted (e.g. u/jonhoo ) trust this crate.
-
How do you choose what crate you will use?
The amount of unsafe code is also a factor. cargo geiger is a handy tool for measuring it.
-
Seems legit
We have cargo-geiger that does just that.
-
Rosenpass – formally verified post-quantum WireGuard
For that, I believe you need to use cargo-geiger[0] and audit the results.
[0] - https://github.com/rust-secure-code/cargo-geiger
-
Hey Rustaceans! Got a question? Ask here (6/2023)!
cargo-geiger is a subcommand you can install which will check all the crates in your dependency graph for unsafe blocks and print out a report (which also shows if a crate has #![forbid(unsafe_code)] or not). You can then inspect those crates' sources to judge their use of unsafe for yourself. I don't think it has a "check" mode that simply errors if your dependency graph contains unsafe though, it's more about just collecting that information.
-
[CCS Proposal] Preliminary research on rewriting Monero node in Rust
wrt to memory safety, keep in mind that many rust crates use "unsafe" internally. There are tools available that can find these such as cargo-geiger. So I would suggest to avoid unsafe deps as much as possible. Since they cannot be avoided entirely, it is a good idea to keep a list of unsafe deps.
What are some alternatives?
zax - Zap logger with context
bacon - background rust code check
logrus - Structured, pluggable logging for Go.
ziglings - Learn the Zig programming language by fixing tiny broken programs.
zap - Blazing fast, structured, leveled logging in Go.
nomicon - The Dark Arts of Advanced and Unsafe Rust Programming
slog
mold - Mold: A Modern Linker 🦠
zerolog - Zero Allocation JSON Logger
miri - An interpreter for Rust's mid-level intermediate representation
xlog - xlog is a logger for net/context aware HTTP applications
orz - a high performance, general purpose data compressor written in the crab-lang