Daemon monitoring

I'm wondering if there's any way to monitor daemons in such a way that if a daemon stops running (e.g. crond, xinetd etc etc), it logs the time and date (and process id) of the stopped daemon ?

Does anyone know if that's even possible ? I'm trying to work out if it logs anywhere when a daemon stops running as i'd like to log when all daemons start and stop and their respective process id's (not sure if its even possible!).

Thanks for any pointers, guys!

Cheers

Its more a question of how/why it is stopped... If you have a program/script to stop the daemon then just add a line so it adds when it was stopped... if its because of ??? Then you have no other choice either to use a monitoring utility ( e.g. opensource nagios ?) or write your own and scheduling it correctly so it doesnt take too much resource...
If you log when it starts while at it keep also its PID, then you know what to look for...