the cause could be a variety of reasons. It might not show up in the log files.
I had the case where the log showed Apache started, then all threads shut down, and absolutely no explanation why. Here's a tip for solving this problem everybody seems to have missed. The log file should show the full command line used to start apache, something like:
httpd -d C:/wamp/bin/apache/apache2.4.9
Do this: open a cmd window, cd to the apache bin directory, and run the command manually:
c:\> cd C:\wamp\bin\apache\apache2.4.9\bin
C:\wamp\bin\apache\apache2.4.9\bin> httpd -d C:/wamp/bin/apache/apache2.4.9
It blurted out the error stright away; problem solved in 5 minutes:
AH00526: Syntax error on line 609 of C:/wamp/bin/apache/apache2.4.9/conf/httpd.conf:
CustomLog takes two or three arguments, a file name, a custom log format string or format name, and an optional "env=" or "expr=" clause (see docs)
this happened due to a syntax error I put in 'httpd.conf' while trying to make my wampserver multi-homed. But why didn't the apache people write this in the log file?