From 12447381c489ffc388ae65abf8d60add83597e07 Mon Sep 17 00:00:00 2001 From: Anders Ingemann Date: Tue, 13 Jun 2023 15:41:31 +0200 Subject: [PATCH] Add records.sh logging library package --- _posts/2023-06-13-recordssh.md | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 _posts/2023-06-13-recordssh.md diff --git a/_posts/2023-06-13-recordssh.md b/_posts/2023-06-13-recordssh.md new file mode 100644 index 0000000..41750e7 --- /dev/null +++ b/_posts/2023-06-13-recordssh.md @@ -0,0 +1,42 @@ +--- +layout: post +title: "records.sh" +description: "A small logging library for bash. Supports `cli`, `json`, `logfmt`, and custom formats. Integrates with journald and Github actions." +category: bash +tags: [library, logging] +--- + +See https://github.com/orbit-online/records.sh for the full README and more +advanced use-cases. + +## Usage + +Source the script with `source "records.sh"` and log messages with the +lowercased loglevel as the function name: + +``` +debug 'Starting up.' +verbose 'Startup completed' +info 'Hello world!' +warning 'Careful!' +error 'Oh no!' +``` + +The method signature of the logging functions mimic that of `printf`: +`info FORMAT [ARGS...]`. Which means you can format variables. + +``` +$ var=0x1f +$ info "The decimal version of %s is %d" "$var" "$var" +example.sh: The decimal version of 0x1f is 31 +``` + +All log messages are output to stderr. If you want to log something to stdout +simply run e.g. `info 'message' 2>&1`. + +## Links + +- [Source Code (GitHub)][https://github.com/orbit-online/records.sh] +- [Author: Orbit Online A/S (Anders Ingemann)](https://orbit.online) + +{% include JB/setup %}