aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2025-07-21 23:58:48 +0300
committerkaotisk <kaotisk@arching-kaos.org>2025-07-21 23:58:48 +0300
commit3a950e7ac7cc9850b178164f0f3856715d1fd3e1 (patch)
tree624caa3b0c3a026c516499d0676f929518b621c8
parent1e56a83b7b06f443a83516ff4c8354a721ca97ba (diff)
downloadarching-kaos-tools-3a950e7ac7cc9850b178164f0f3856715d1fd3e1.tar.gz
arching-kaos-tools-3a950e7ac7cc9850b178164f0f3856715d1fd3e1.tar.bz2
arching-kaos-tools-3a950e7ac7cc9850b178164f0f3856715d1fd3e1.zip
[ak] -vi flag outputs logs in mIRC format
-rwxr-xr-xbin/ak8
-rwxr-xr-xlib/_ak_log19
2 files changed, 27 insertions, 0 deletions
diff --git a/bin/ak b/bin/ak
index 5724ce2..17cf351 100755
--- a/bin/ak
+++ b/bin/ak
@@ -18,6 +18,7 @@
### along with this program. If not, see <http://www.gnu.org/licenses/>.
###
export AK_DEBUG="yes"
+export AK_DEBUG_IRC="no"
##
## Arching Kaos CLI tool is the main executable script to use for exploring,
## creating and distributing local blockchain(s) called zchain(s).
@@ -49,6 +50,13 @@ source $AK_LIBDIR/_ak_lib_load
_ak_lib_load _ak_log
_ak_lib_load _ak_script
+if [ "$1" == "-vi" ]
+then
+ export AK_DEBUG_IRC="yes"
+ export AK_DEBUG="no"
+ shift
+fi
+
if [ $# -eq 0 ]
then
_ak_log_warning "No command given"
diff --git a/lib/_ak_log b/lib/_ak_log
index 51064e7..d28e663 100755
--- a/lib/_ak_log
+++ b/lib/_ak_log
@@ -75,6 +75,21 @@ function _ak_log_print_log_line(){
fi
}
+function _ak_log_print_log_line_irc(){
+ if [ -n "$1" ]
+ then
+ timestamp="$(echo "$*" | awk '{print $1}')"
+ program="$(echo "$*" | awk '{print $2}')"
+ messagetype="$(echo "$*" | awk '{print $3}')"
+ message="$(echo "$*" | cut -d ' ' -f4-)"
+ printf '\x0300,01%s \x0303,01%s\x0300,01 \x0304,01%s\x0300,01 %s\x0301,00\n' \
+ "$(_ak_datetime_unix_to_human $timestamp)" \
+ "$program" \
+ "$messagetype" \
+ "$message"
+ fi
+}
+
function _ak_log_follow(){
tail -f $AK_LOGSFILE | while read -r p || [ -n "$p" ]
do
@@ -144,6 +159,10 @@ function _ak_log_message(){
then
_ak_log_print_log_line "$TS <$prg> [$tp] $msg" >&2
fi
+ if [ ! -z $AK_DEBUG_IRC ] && [ -n "$AK_DEBUG_IRC" ] && [ "$AK_DEBUG_IRC" == "yes" ]
+ then
+ _ak_log_print_log_line_irc "$TS <$prg> [$tp] $msg" >&2
+ fi
else
echo "$TS" "<$prg>" "[ERROR]" "No message" >> $AK_LOGSFILE
if [ "$AK_DEBUG" == "yes" ]