How does the transaction log record a transaction?
I could not put this as comment so here it is for you. It is not compete answer to your question because your question can either be correctly answered by person working in Microsoft or Paul Randal(I guess). All I can say for all paractical purposes every information is logged. 

You can read the contents of log file using undocumented command

select * from fn_dblog(Null,Null)


If you run it you can see lot of information related to database, pages,extents,locks ect. But it would be difficult for you to extract information from it as it requires a level of expertise to decipher the output.

If you read Books Online document SQL Server Transaction Log architecture and Management it says

Many types of operations are recorded in the transaction log. These
 operations include: 


  •The start and end of each transaction.
  
  •Every data modification (insert, update, or delete). This includes
  changes by system stored procedures or data definition language (DDL)
  statements to any table, including system tables.
  
  •Every extent and page allocation or deallocation.
  
  •Creating or dropping a table or index.


Log records for data modifications record either the logical operation performed or they record the before and after images of the modified data. The before image is a copy of the data before the operation is performed; the after image is a copy of the data after the operation has been performed.

AFAIK there is no information about query which was fired but the changes which query made is written in transaction log. Changes made to page, extents , locks that were taken, resources that were locked.