I am after both of these but also I need a way to aggregate a lot of log files and perform actions like "If there was no log entry X in the last N days send an email" or "If system A wrote N entries to database and system B did not process any in time T perform some action or raise an alarm". I would guess a kind of aggregating of events and running scripts based on what happened. All the systems could be modified to log to an additional place if needed.