aboutsummaryrefslogtreecommitdiffstats
path: root/logging
Commit message (Collapse)AuthorAgeFilesLines
* aerc: add build info to version stringRobin Jarry2022-08-221-1/+5
| | | | | | | | | | | | | | | | Example: $ aerc -v aerc 0.11.0 +notmuch (go1.18.4 amd64 linux) Also include that version information in the debug and panic logs. debug.ReadBuildInfo() is only available in go 1.18+. Add a new variable set at build time to store $GOFLAGS. Suggested-by: Tim Culverhouse <tim@timculverhouse.com> Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* go: removed io/ioutilMoritz Poldrack2022-08-221-2/+2
| | | | | | | | | | Since the minimum required version of Go has been bumped to 1.16, the deprecation of io/ioutil can now be acted upon. This Commit removes the remaining dependencies on ioutil and replaces them with their io or os counterparts. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
* lint: ensure errors are at least logged (errcheck)Moritz Poldrack2022-08-042-5/+5
| | | | | Signed-off-by: Moritz Poldrack <moritz@poldrack.dev> Acked-by: Robin Jarry <robin@jarry.cc>
* logging: add logger system with levelsRobin Jarry2022-07-231-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | The built-in logging system is rather basic. Implement a multi-level logger to ease interpreting the logs. Configure the loggers with prefixes and microsecond precision for timestamps. Also, prefix the messages with the source file name and line number. Because of this, enabling the logs has a performance cost. They will only be enabled when redirecting aerc stdout to a file. Here is an example output: DEBUG 2022/07/20 12:52:34.536190 worker.go:45: PostAction *types.FetchDirectoryContents DEBUG 2022/07/20 12:52:34.536329 worker.go:92: ProcessAction *types.FetchDirectoryContents(2417) DEBUG 2022/07/20 12:52:34.536407 idler.go:159: idler (0xc00017c000) [idle:false,wait:false] =>(idle) [debounce] INFO 2022/07/20 12:52:34.536432 threadbuilder.go:59: 130 threads created in 220.796µs DEBUG 2022/07/20 12:52:34.536449 worker.go:75: ProcessMessage *types.DirectoryInfo(2416) DEBUG 2022/07/20 12:52:34.536453 idler.go:159: idler (0xc00017c000) [idle:false,wait:false] <=(idle) DEBUG 2022/07/20 12:52:34.536459 worker.go:45: PostAction *types.FetchDirectoryContents INFO 2022/07/20 12:52:34.536470 open.go:30: Fetching UID list INFO 2022/07/20 12:52:34.536689 threadbuilder.go:59: 130 threads created in 201.635µs Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* fix typo in panic loggerMoritz Poldrack2022-07-101-1/+1
| | | | | Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Tim Culverhouse <tim@timculverhouse.com>
* logging: added a log on panicMoritz Poldrack2022-03-231-0/+56
Since panics still regularly "destroy" the terminal, it is hard to get a stack trace for panics you do not anticipate. This commit adds a panic handler that automatically creates a logfile inside the current working directory. It has to be added to every goroutine that is started and will repair the terminal on a panic. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>