diff options
Diffstat (limited to 'lib/_ak_log')
| -rwxr-xr-x | lib/_ak_log | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/_ak_log b/lib/_ak_log index c45794d..d28e663 100755 --- a/lib/_ak_log +++ b/lib/_ak_log @@ -18,7 +18,8 @@ ### along with this program. If not, see <http://www.gnu.org/licenses/>. ### -source $AK_LIBDIR/_ak_utils 2>/dev/null || source ./lib/_ak_utils 2>/dev/null +source ./lib/_ak_lib_load 2>/dev/null || source $AK_LIBDIR/_ak_lib_load 2>/dev/null +_ak_lib_load _ak_datetime export AK_LOGSDIR="$AK_WORKDIR/logs" export AK_LOGSFILE="$AK_LOGSDIR/log" @@ -74,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 @@ -81,6 +97,11 @@ function _ak_log_follow(){ done } +function _ak_log_last_line(){ + p="$(tail -n 1 $AK_LOGSFILE | tr -d '\n')" + _ak_log_print_log_line "$p" +} + function _ak_log_grep(){ if [ ! -z $1 ] && [ -n "$1" ] then @@ -138,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" ] @@ -190,4 +215,5 @@ function _ak_log_info(){ _ak_log_message "$PROGRAM" "INFO" "$*" } +# _ak_log_debug "_ak_log loaded $(caller)" # vim: set syntax=bash |
