Class: Fluent::Plugin::Base

Inherits:
Object
  • Object
show all
Includes:
Configurable, SystemConfig::Mixin
Defined in:
lib/fluent/plugin/base.rb

Defined Under Namespace

Classes: State

Constant Summary

Constants included from Configurable

Configurable::CONFIG_TYPE_REGISTRY

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SystemConfig::Mixin

#system_config, #system_config_override

Methods included from Configurable

#config, #configure_proxy_generate, #configured_section_create, included, lookup_type, register_type

Constructor Details

#initializeBase

Returns a new instance of Base.



31
32
33
34
35
36
37
# File 'lib/fluent/plugin/base.rb', line 31

def initialize
  super
  @_state = State.new(false, false, false, false, false, false, false, false, false)
  @_context_router = nil
  @_fluentd_worker_id = nil
  @under_plugin_development = false
end

Instance Attribute Details

#under_plugin_developmentObject

Returns the value of attribute under_plugin_development.



29
30
31
# File 'lib/fluent/plugin/base.rb', line 29

def under_plugin_development
  @under_plugin_development
end

Instance Method Details

#after_shutdownObject



108
109
110
111
# File 'lib/fluent/plugin/base.rb', line 108

def after_shutdown
  @_state.after_shutdown = true
  self
end

#after_shutdown?Boolean

Returns:

  • (Boolean)


147
148
149
# File 'lib/fluent/plugin/base.rb', line 147

def after_shutdown?
  @_state.after_shutdown
end

#after_startObject



88
89
90
91
# File 'lib/fluent/plugin/base.rb', line 88

def after_start
  @_state.after_start = true
  self
end

#after_started?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/fluent/plugin/base.rb', line 131

def after_started?
  @_state.after_start
end

#before_shutdownObject



98
99
100
101
# File 'lib/fluent/plugin/base.rb', line 98

def before_shutdown
  @_state.before_shutdown = true
  self
end

#before_shutdown?Boolean

Returns:

  • (Boolean)


139
140
141
# File 'lib/fluent/plugin/base.rb', line 139

def before_shutdown?
  @_state.before_shutdown
end

#closeObject



113
114
115
116
# File 'lib/fluent/plugin/base.rb', line 113

def close
  @_state.close = true
  self
end

#closed?Boolean

Returns:

  • (Boolean)


151
152
153
# File 'lib/fluent/plugin/base.rb', line 151

def closed?
  @_state.close
end

#configure(conf) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/fluent/plugin/base.rb', line 53

def configure(conf)
  if conf.respond_to?(:for_this_worker?) && conf.for_this_worker?
    system_config_override(workers: 1)
  end
  super
  @_state ||= State.new(false, false, false, false, false, false, false, false, false)
  @_state.configure = true
  self
end

#configured?Boolean

Returns:

  • (Boolean)


123
124
125
# File 'lib/fluent/plugin/base.rb', line 123

def configured?
  @_state.configure
end

#context_routerObject



79
80
81
# File 'lib/fluent/plugin/base.rb', line 79

def context_router
  @_context_router
end

#context_router=(router) ⇒ Object



75
76
77
# File 'lib/fluent/plugin/base.rb', line 75

def context_router=(router)
  @_context_router = router
end

#fluentd_worker_idObject



47
48
49
50
51
# File 'lib/fluent/plugin/base.rb', line 47

def fluentd_worker_id
  return @_fluentd_worker_id if @_fluentd_worker_id
  @_fluentd_worker_id = (ENV['SERVERENGINE_WORKER_ID'] || 0).to_i
  @_fluentd_worker_id
end

#has_router?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/fluent/plugin/base.rb', line 39

def has_router?
  false
end

#inspectObject



159
160
161
162
163
164
165
# File 'lib/fluent/plugin/base.rb', line 159

def inspect
  # Plugin instances are sometimes too big to dump because it may have too many thins (buffer,storage, ...)
  # Original commit comment says that:
  #   To emulate normal inspect behavior `ruby -e'o=Object.new;p o;p (o.__id__<<1).to_s(16)'`.
  #   https://github.com/ruby/ruby/blob/trunk/gc.c#L788
  "#<%s:%014x>" % [self.class.name, '0x%014x' % (__id__ << 1)]
end

#multi_workers_ready?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/fluent/plugin/base.rb', line 63

def multi_workers_ready?
  true
end

#plugin_root_dirObject



43
44
45
# File 'lib/fluent/plugin/base.rb', line 43

def plugin_root_dir
  nil # override this in plugin_id.rb
end

#shutdownObject



103
104
105
106
# File 'lib/fluent/plugin/base.rb', line 103

def shutdown
  @_state.shutdown = true
  self
end

#shutdown?Boolean

Returns:

  • (Boolean)


143
144
145
# File 'lib/fluent/plugin/base.rb', line 143

def shutdown?
  @_state.shutdown
end

#startObject



83
84
85
86
# File 'lib/fluent/plugin/base.rb', line 83

def start
  @_state.start = true
  self
end

#started?Boolean

Returns:

  • (Boolean)


127
128
129
# File 'lib/fluent/plugin/base.rb', line 127

def started?
  @_state.start
end

#stopObject



93
94
95
96
# File 'lib/fluent/plugin/base.rb', line 93

def stop
  @_state.stop = true
  self
end

#stopped?Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/fluent/plugin/base.rb', line 135

def stopped?
  @_state.stop
end

#string_safe_encoding(str) {|str| ... } ⇒ Object

Yields:

  • (str)


67
68
69
70
71
72
73
# File 'lib/fluent/plugin/base.rb', line 67

def string_safe_encoding(str)
  unless str.valid_encoding?
    log.info "invalid byte sequence is replaced in `#{str}`" if self.respond_to?(:log)
    str = str.scrub('?')
  end
  yield str
end

#terminateObject



118
119
120
121
# File 'lib/fluent/plugin/base.rb', line 118

def terminate
  @_state.terminate = true
  self
end

#terminated?Boolean

Returns:

  • (Boolean)


155
156
157
# File 'lib/fluent/plugin/base.rb', line 155

def terminated?
  @_state.terminate
end