|
|
@@ -1,5 +1,6 @@
|
|
|
logger = require 'logger-sharelatex'
|
|
|
metrics = require 'metrics-sharelatex'
|
|
|
+settings = require 'settings-sharelatex'
|
|
|
|
|
|
# keep track of message counters to detect duplicate and out of order events
|
|
|
# messsage ids have the format "UNIQUEHOSTKEY-COUNTER"
|
|
|
@@ -8,10 +9,18 @@ EVENT_LOG_COUNTER = {}
|
|
|
EVENT_LOG_TIMESTAMP = {}
|
|
|
EVENT_LAST_CLEAN_TIMESTAMP = 0
|
|
|
|
|
|
+# counter for debug logs
|
|
|
+COUNTER = 0
|
|
|
+
|
|
|
module.exports = EventLogger =
|
|
|
|
|
|
MAX_STALE_TIME_IN_MS: 3600 * 1000
|
|
|
|
|
|
+ debugEvent: (channel, message) ->
|
|
|
+ if settings.debugEvents > 0
|
|
|
+ logger.log {channel:channel, message:message, counter: COUNTER++}, "logging event"
|
|
|
+ settings.debugEvents--
|
|
|
+
|
|
|
checkEventOrder: (channel, message_id, message) ->
|
|
|
return if typeof(message_id) isnt 'string'
|
|
|
return if !(result = message_id.match(/^(.*)-(\d+)$/))
|