Implement events logging feature

Record events (i.e. pluginhook's calls) as syslog entries and
provide a shortcut command to display the last part of the log
file.

A brief summary of the changes follows:

dokku:
 - New DOKKU_EVENTS_LOGFILE envvar to hold logfile location.

plugins/20_events/commands:
 - events output log entries, a tail's follow-like mode is
   provided too.
 - events:[on|off] enables/disables logging.
 - events:list lists events that are logged.

plugins/20_events/hook:
 - Generic hook that writes log entries. All the events are
   registered via symlink to this script.

plugins/common/functions:
 - dokku_log_event() writes log entries via logger.
 - dokku_log_pluginhook_call() formats log entries and writes
   them via dokku_log_event().
This commit is contained in:
Alessio Treglia
2015-06-26 13:14:04 +01:00
parent 48eca101f1
commit 783bb02b2c
33 changed files with 120 additions and 0 deletions

View File

@@ -90,6 +90,17 @@ dokku_log_fail() {
exit 1
}
dokku_log_event() {
logger -t dokku -i -- $@
}
dokku_log_pluginhook_call() {
local l_hook
l_hook="$1" ; shift
dokku_log_event "INVOKED: ${l_hook}( $@ )"
}
dokku_container_log_verbose_quiet() {
CID=$1;
shift