実行した時の標準出力、標準エラー出力を残すログ
bash 限定
code:logging.sh
LOG_DIR=/tmp
SCRIPT_DIR=$(cd $(dirname $0); pwd)
SCRIPT_NAME=$(basename $0)
function add_log_info() {
while IFS= read -d $'\n' line; do
printf "%s: %s\n" "$(date +"%Y-%m-%d %H:%M:%S")" "$line"
done
}
TIMESTAMP=$(date +"%Y%m%dT%H%M%S")
exec > >(add_log_info | tee $LOG_DIR/$SCRIPT_NAME.$TIMESTAMP.log) 2>&1
時間については TZ=UTC をつけて UTC 時刻にするのが吉。