Rather than "watch" you could try "inotifywait". This script should do what you want.
Note the -m option. This script will not exit. You will need to kill it.
Code:
#!/bin/sh
WATCH_DIR=/foo
OUTPUT_FILE=/bar/textls
inotifywait -mr --timefmt '%F %H%M%S' --format '%T %f' \
-e attrib $WATCH_DIR \
| while read date time file; do
ls -al $WATCH_DIR${file} >> $OUTPUT_FILE
done
[edit] the timefmt stuff is superfluous [/edit]