Module: Agentlog

Defined in:
lib/agentlog.rb,
lib/agentlog/context.rb,
lib/agentlog/railtie.rb,
lib/agentlog/version.rb,
lib/agentlog/compactor.rb,
lib/agentlog/configuration.rb,
lib/agentlog/notifications.rb

Defined Under Namespace

Classes: Compactor, Configuration, Context, Error, Notifications, Railtie

Constant Summary collapse

VERSION =
"0.9.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



22
23
24
# File 'lib/agentlog.rb', line 22

def configuration
  @configuration ||= Configuration.new
end

.notificationsObject

Returns the value of attribute notifications.



19
20
21
# File 'lib/agentlog.rb', line 19

def notifications
  @notifications
end

Class Method Details

.build_logger(configuration) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/agentlog.rb', line 45

def build_logger(configuration)
  return configuration.logger if configuration.logger

  logger = ::Logger.new(configuration.path)
  logger.formatter = proc { |_severity, _time, _progname, message| "#{message}\n" }
  logger
end

.configure {|configuration| ... } ⇒ Object

Yields:



26
27
28
# File 'lib/agentlog.rb', line 26

def configure
  yield(configuration)
end

.install!(logger: nil, environment: nil) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/agentlog.rb', line 30

def install!(logger: nil, environment: nil)
  return unless configuration.enabled?(environment)

  @notifications&.uninstall!
  @notifications = Notifications.new(configuration:, logger: logger || build_logger(configuration))
  @notifications.install!
end

.reset!Object



38
39
40
41
42
43
# File 'lib/agentlog.rb', line 38

def reset!
  @notifications&.uninstall!
  @notifications = nil
  @configuration = Configuration.new
  Thread.current[:agentlog_context] = nil
end