ShellScript

bashで色付きlogger

More than 1 year has passed since last update.

ただ色つけてTLSVで出力するだけ

test.sh
#!/bin/bash

batch_logger(){
  message=${1:?}
  LOGLEVEL=${2:-INFO}
  case ${3:-NORMAL} in
    'RED' )   COLOR_HEADER='\e[1;31m' ;COLOR_FOOTER='\e[m' ;;
    'BLUE')   COLOR_HEADER='\e[1;34m' ;COLOR_FOOTER='\e[m' ;;
    'YELLOW') COLOR_HEADER='\e[1;33m' ;COLOR_FOOTER='\e[m' ;;
    'GREEN')  COLOR_HEADER='\e[1;32m' ;COLOR_FOOTER='\e[m' ;;
    * )       COLOR_HEADER='' ;COLOR_FOOTER='' ;;
  esac
  /bin/echo -e "time:$(date +'%Y/%m/%d:%H:%M:%S')\tclass:$(basename $0)\thost:$(hostname)\tLEVEL:${LOGLEVEL}\tmessage:${COLOR_HEADER}${message}${COLOR_FOOTER}" 
}

batch_logger "普通のメッセージ"
batch_logger "警告のメッセージ" WARN YELLOW
batch_logger "エラーメッセージ" ERROR RED
batch_logger "正常終了メッセージ" INFO GREEN

test.png