It possibly creates logs, but elsewhere than you think.
Check what is the working directory of the scheduled command.
Or use a full path to a log file.
I have a winscp script running as a scheduled task which transfers some files to a customer site. This works without any issues. However when I added logging option to the script it won't generate logs when run by the schedule. However it works if I run it from the command prompt. The task scheduler runs this task as an user which has full permission. I know it works because the script deletes files and it has been running for over a year. We want to enable logging because customer is complaining that they're not receiving files. here's first line of the batch file
C:\Script\winscp\winscp.com /script:C:\Script\ftplogin.txt /log=!Y!M!D!T.log
first line of the ftplogin.txt
open ftp://user:firstname.lastname@example.org -passive=on