#!/bin/bash
#Name: lib-logging-ds
#Version: 1.0
#Depends: 
#Author: BitJam, Dave (david@daveserver.info)
#Purpose: Logging library for desktop-session
#License: gplv3

ME=${0##*/}

fatal() {
    echo "$ME: Fatal Error: $*"
    exit 2
}

error() {
    echo "$ME Error:" >&2
    echo "$*"         >&2
    exit 2
}

warn()  { echo "$ME: Warning: $*"           ; }
say()   { echo "$ME: $*"                    ; }
log()   { echo "$ME: $*" >> $log_file       ; }
shout() { echo "$ME: $*" | tee -a $log_file ; }
psay()  { say "$(plural "$@")"              ; }

echo_variable() {
    echo "$ME: Setting environment variable: $*"
    export "$@"
}

echo_cmd() {
    echo "$ME: run: $*"
    "$@"
}

echo_eval_cmd() {
    echo "$ME: run: eval $*"
    eval "$@" &
}

echo_bg_cmd() {
    echo "$ME: run: $* &"
    "$@" &
}

log_rotate() {
    date=$(date +%Y-%m-%d_%H-%M);
    log_amount="5";
    
    if [ -e "$log_file" ]; then
        mv "$log_file" "$user_dts_dir/old-log-$date.log";
    else
        touch $log_file;
    fi
    
    log_list=$(find "$user_dts_dir" -maxdepth '1' -iname "*.log")
    log_file_count=$(echo $log_list |wc -l)
    if [ "$log_file_count" -lt "$log_amount" ]; then
        for item in $( stat -c "%X|%n" $log_list |sort -r |tail -n "+$log_amount" 2> /dev/null )
        do
            echo "$item"
            file=$(echo "$item" | cut -d "|" -f2)
            rm $file;
        done
    fi
}
