When the developer console is opened Salesforce will start capturing ApexLog records for the current user. After a period of time this stops occurring and the user needs to click the resume menu method so the logs start updating again.
Alternatively, you can start a similar capture process from
Setup > Administration Setup > Monitoring > Debug Logs > Monitored Users - New
If neither of these options are active no ApexLog entry gets created.
How can I start the capturing of ApexLog records using just the API?
I'd imagine the tooling API would be the place to start, but the Metadata or partner APIs would also be fine.