If you want to keep a running change log by file, then you either need to:
Create a ChangeLog plain text file in your source tree and type into it whatever info you need (date, time, commit id, summary, etc.) for each file
Only commit one file at a time in each commit, this way you will be able to see a commit history in your version control file that lists each file's individual change. This can lead to an inconsistent state of your code though, meaning that if you change two files which depend on one another and only having one file changed leads to an error, you will have broken commits in your code.
VCSes do not typically natively support a per-file commit log while still having commits contain multiple files. You could, however, just put a new line between the description of each file's change in a multi-file commit. Something like this:
Summary: Various bug fixes and updates for Flummox 1.5.2. file1.c: Updated Flummox API for Flummox 1.5.2. file2.c: Fix a string formatting buffer overflow. file3.c: Use new Flummox Advanced Regex engine.
Most people commit each logically isolated change in a commit, regardless of whether it affects 1 file or 1000.