Do I need to enumerate the columns used in a materialized view when creating the MV log?
No, you do not need to enumerate the columns used in a materialized view when creating the materialized view log.  In fact you cannot create a materialized view log using the primary key method and include all the columns because you would be including the primary key column itself, which is not allowed.

The concept of a materialized view log is to store the rowid or primary key of the data that changed.  The refresh can then look up the entire record from the table.  Adding specific columns to the WITH clause of the log explicitly records the data in the materialized view log itself.  If your materialized view query is filtering on these columns or joining on them it could speed up the refresh.  

Theoretically if all the columns used in the MV are in the log, then it should be able to refresh without referencing the table.  The documentation does not indicate that this is being done.  It would be interesting to trace this to see.  Even if it does, the additional storage requirements may not make this route worth the trouble.

You should probably just create the materialized view logs without specifying a column list, like this:

CREATE MATERIALIZED VIEW LOG ON SCHEMA.TABLE_A 
   WITH ROWID, PRIMARY KEY, SEQUENCE INCLUDING NEW VALUES;


More Information:


SQL Snippets  
Oracle® Database SQL Language Reference 
Oracle® Database Data Warehousing Guide