Of course uncommitted transaction should be written to the log. Otherwise, how can it be rolled back if anything bad happens before it being committed. A checkpoint writes dirty pages to disks. It doesn't give a shit to if the transaction is committed or not.
确实是写的 找到这么一段话 a log record may contain details of either a closed (committed) transaction or an open (uncommitted) transaction, and in each case the data modified by the transaction may or may not have been written to the data files, depending on whether or not a checkpoint has occurred.