Add more descriptive logging. Following are some suggestions:
1) Program flow information - Debugging output for important functions and interesting program flow. Things that would be helpful if you are trying to figure out what the system is doing. This can be very verbose.
Try to adopt a standard template for outputting information about important functions. For example:
int print_stuff(char *msg, int value)
DEBUG_("print_stuff(%s,%i)", msg, value);
2) Error information - Error output for when the program gets into an error state or when something really bad happens. Especially when it is unable to proceed. Specifics about pertinent data values are helpful.
3) Warnings - Warning output for when the program is headed for trouble. Specifics about pertinent data values are helpful.
4) Info - Like program flow information, but mainly for things that an administrator might be concerned with. For example, "ASR Server started" or "ASR Server is listening". Should not create too much output.