Perhaps you are looking for a script as follows:
#!/bin/bash
shopt -s nullglob
for filename in test*.log; do
foldername=$(echo "$filename" | awk '{print (substr($0, 5, 8));}');
mkdir -p "$foldername"
mv "$filename" "$foldername"
echo "$filename $foldername" ;
done
I tested only your sample, so do the proper testing before using it in a catalog that contains important materials.
Edit in response to comments:
Change the source script to:
foldername=$(date +%Y%m%d)
mkdir -p /home/app/logs/"$foldername"
sh sample.sh > /home/app/logs/"$foldername"/test$(date +%Y%m%d%H%M%S).log
- , :
sh sample.sh > /home/app/logs/$(date +%Y%m%d)/test$(date +%Y%m%d%H%M%S).log