how should I get the return value

ls xx > yy.log 

echo $? can get the return value of "ls xx"

but if I use

ls xx |tee -a yy.log

I can't get the return value of "ls xx", and I get the return value of the whole cmd "ls xx |tee -a yy.log", it is always "0"

my question is how could I get the return value of "ls xx" using "tee" to get the log

On Bash:

echo ${PIPESTATUS[0]}