By default Dovecot starts logging to syslog using mail facility. In most operating systems this goes to /var/log/mail.log, /var/log/maillog or something similar.
If there is anything wrong with your configuration or if something crashes, Dovecot will always log the error message. It's extremely rare that Dovecot dies without giving any sort of error message, so make sure you're looking at the correct log file.
NOTE: Error messages may be logged into a different log file than the informational log lines! Some syslogs are by default configured to log mail error messages into a different log file.
After you start Dovecot, make sure that you can find a line similar to this:
dovecot: Jan 07 14:22:40 Info: Dovecot v1.0.alpha5 starting up
However, the above message is logged into informational log, which may or may not be where the error messages are logged.
If IMAP or POP3 processes encounter some error, they don't show the exact reason for clients. Instead they show:
Internal error occurred. Refer to server log for more information. [2006-01-07 22:35:11]
The real error message is written to Dovecot's log file. The timestamp is meant to help you find it.
Changing Log File Paths
If you don't want to use syslog, or if you just can't find the Dovecot's error logs, you can make Dovecot log elsewhere as well:
log_path = /var/log/dovecot.log # If you want everything in one file, just don't specify log_info_path log_info_path = /var/log/dovecot-info.log
The error messages will go to file specified by log_path, while everything else goes to log_info_path. If you do this, make sure you're really looking at the log_path file for error messages, since the "Starting up" message is written to log_info_path file.