I fully expect there to be a possibility to enable some form of debug logging for the Core Service. I also fully expect this to be an internal use feature only (that is: internal to SDL R&D) as one would only ever need to debug the core service itself if the product was broken.
The fact that the NullPointerException happens on the side of the core service itself doesn't mean the core service is at fault; one of the parameters you passed contains invalid data (not a valid folder tcmuri, not a valid item tcmuri, invalid readoptions) or the core service client itself is no longer in a valid state (it may have been closed by another thread, server application got recycled, etc).
If you really are interested in logs generated by CoreService then there are two types of logging you can enable (they're not enabled by default):
Uncomment the comment out nodes below
<system.diagnostics><sources>; this will cause WCF to dump heaps of information about requests and responses.
The location of the logfile is configured in the
<sharedListeners> node in the
initializeData property of the child
<loggingConfiguration><specialSources> find the
<allEvents> node. Set it's
switchValue property to "All". Change the
<listener> child node's
Name property from "Tridion Event Log" to "Log File"
The default file location for the log file is "C:\Program Files (x86)\Tridion\log\TcmServiceHost.log"; you can change this in the
<loggingConfiguration><listeners><add name="Log File"> node by changing the
Note that by default the application logs all informational and higher level messages to the event log.
Also note that if you connect to Core Service via HTTP/HTTPS instead of Net.TCP then the configuration file to modify is
webservices\web.config as opposed to
bin\TcmServiceHost.exe.config as explained in the answer here