awl: drill, writ small
grumbulon
98a14b1bf8
This PR is to bring in the new logging package for awl, I wanted to do some refinements before I opened this to upstream logawl works in the following ways 1. It prints logs directly to std.err 1. The default log level is Info (this can be changed multiple ways) 1. It supports four log levels Error, Fatal, Info, Debug 1. It differs from the syslog package in the stdlib wherin it default to std.err you do not _need_ to define an out file (syslog for example) 1. I added a "debug" flag so now we can go through and define verbose logging through the app 5.5 I made it so we can call `Logger.debug("message")` anywhere in the query file but unless the debug flag is set to true it will not print a message (it is working as intended finally). Co-authored-by: grumbulon <grumbulon@dismail.de> Reviewed-on: sam/awl#10 Co-authored-by: grumbulon <grumbulon@grumbulon.xyz> Co-committed-by: grumbulon <grumbulon@grumbulon.xyz> |
||
---|---|---|
logawl | ||
query | ||
util | ||
.drone.yml | ||
.gitignore | ||
awl.go | ||
cli.go | ||
cli_test.go | ||
docs.go | ||
go.mod | ||
go.sum | ||
query.go | ||
README.md | ||
renovate.json |
awl
awl
is a command-line DNS client, much like
drill
,
dig
,
dog
,
doggo
,
or q
This was made as my first major experiment with Go, so there are probably things that can be improved
The excellent dns library for Go does most of the heavy lifting.
What works
- UDP
- TCP
- TLS
- HTTPS (maybe)
- QUIC (extreme maybe)
What doesn't
- Your sanity after reading my awful code
- A motivation for making this after finding q and doggo
What should change
- Make the CLI less abysmal (migrate to cobra? or just use stdlib's flags)
- Optimize everything
- Make the code less spaghetti (partially completed)
- Feature parity with drill
- Making a drop-in replacement for drill?