Module: LogStasher

Defined in:
lib/logstasher.rb,
lib/logstasher/device.rb,
lib/logstasher/railtie.rb,
lib/logstasher/version.rb,
lib/logstasher/device/udp.rb,
lib/logstasher/device/redis.rb,
lib/logstasher/device/syslog.rb,
lib/logstasher/silent_logger.rb,
lib/logstasher/context_wrapper.rb,
lib/logstasher/log_subscriber.rb

Defined Under Namespace

Modules: ContextWrapper, Device, SilentLogger Classes: LogSubscriber, Railtie

Constant Summary collapse

VERSION =
"1.6.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.append_fields_callbackObject (readonly)

Returns the value of attribute append_fields_callback.



6
7
8
# File 'lib/logstasher.rb', line 6

def append_fields_callback
  @append_fields_callback
end

.enabled=(value) ⇒ Object (writeonly)

Sets the attribute enabled

Parameters:

  • value

    the value to set the attribute enabled to.



7
8
9
# File 'lib/logstasher.rb', line 7

def enabled=(value)
  @enabled = value
end

.include_parameters=(value) ⇒ Object (writeonly)

Sets the attribute include_parameters

Parameters:

  • value

    the value to set the attribute include_parameters to.



8
9
10
# File 'lib/logstasher.rb', line 8

def include_parameters=(value)
  @include_parameters = value
end

.metadataObject

Returns the value of attribute metadata.



11
12
13
# File 'lib/logstasher.rb', line 11

def 
  @metadata
end

.serialize_parameters=(value) ⇒ Object (writeonly)

Sets the attribute serialize_parameters

Parameters:

  • value

    the value to set the attribute serialize_parameters to.



9
10
11
# File 'lib/logstasher.rb', line 9

def serialize_parameters=(value)
  @serialize_parameters = value
end

.silence_standard_logging=(value) ⇒ Object (writeonly)

Sets the attribute silence_standard_logging

Parameters:

  • value

    the value to set the attribute silence_standard_logging to.



10
11
12
# File 'lib/logstasher.rb', line 10

def silence_standard_logging=(value)
  @silence_standard_logging = value
end

Class Method Details

.append_fields(&block) ⇒ Object



13
14
15
# File 'lib/logstasher.rb', line 13

def append_fields(&block)
  @append_fields_callback = block
end

.enabled?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
# File 'lib/logstasher.rb', line 17

def enabled?
  if @enabled.nil?
    @enabled = false
  end

  @enabled
end

.include_parameters?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
# File 'lib/logstasher.rb', line 25

def include_parameters?
  if @include_parameters.nil?
    @include_parameters = true
  end

  @include_parameters
end

.initialize_logger(device = $stdout, level = ::Logger::INFO) ⇒ Object



41
42
43
44
45
# File 'lib/logstasher.rb', line 41

def initialize_logger(device = $stdout, level = ::Logger::INFO)
  ::Logger.new(device).tap do |new_logger|
    new_logger.level = level
  end
end

.log_as_json(payload, as_logstash_event: false) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/logstasher.rb', line 47

def log_as_json(payload, as_logstash_event: false)
  payload = payload.dup
  payload.merge!(:metadata => ) if !&.empty? && payload.is_a?(::Hash)

  # Wrap the hash in a logstash event if the caller wishes for a specific
  # formatting applied to the hash. This is used by log subscriber, for
  # example.
  json_payload = if as_logstash_event
                   ::LogStash::Event.new(payload).to_json
                 else
                   payload.to_json
                 end

  logger << json_payload + $INPUT_RECORD_SEPARATOR
end

.loggerObject



63
64
65
# File 'lib/logstasher.rb', line 63

def logger
  @logger ||= initialize_logger
end

.logger=(log) ⇒ Object



67
68
69
# File 'lib/logstasher.rb', line 67

def logger=(log)
  @logger = log
end

.serialize_parameters?Boolean

Returns:

  • (Boolean)


33
34
35
36
37
38
39
# File 'lib/logstasher.rb', line 33

def serialize_parameters?
  if @serialize_parameters.nil?
    @serialize_parameters = true
  end

  @serialize_parameters
end

.silence_standard_logging?Boolean

Returns:

  • (Boolean)


71
72
73
74
75
76
77
# File 'lib/logstasher.rb', line 71

def silence_standard_logging?
  if @silence_standard_logging.nil?
    @silence_standard_logging = false
  end

  @silence_standard_logging
end