aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/logging_observer.rb15
-rw-r--r--config/environment.rb1
2 files changed, 16 insertions, 0 deletions
diff --git a/app/models/logging_observer.rb b/app/models/logging_observer.rb
new file mode 100644
index 0000000..d920666
--- /dev/null
+++ b/app/models/logging_observer.rb
@@ -0,0 +1,15 @@
+class LoggingObserver < ActiveRecord::Observer
+ observe Event
+
+ def after_create(model)
+ case model
+ when Event
+ msgpath= "#{model.message.ressource.namespace}/#{model.message.ressource.ressource}/#{model.message.id}"
+ evreceiver_pid= model.participant.id
+ evreceiver_mid= (Membership.receiver(evreceiver_pid, model.message.id)).id
+ evtype= model.ev_type.name
+ model.logger.info("**#{model.message.ressource.namespace}** Event: Type:#{evtype} -- MsgPath:#{msgpath} -- ReceiverPid:#{evreceiver_pid} -- ReceiverMid:#{evreceiver_mid}")
+ end
+ end
+
+end
diff --git a/config/environment.rb b/config/environment.rb
index 9d23148..9bb578b 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -47,6 +47,7 @@ Rails::Initializer.run do |config|
# Activate observers that should always be running
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
+ config.active_record.observers = :logging_observer
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names.