Class: Baykit::BayServer::Docker::BuiltIn::BuiltInLogDocker
- Inherits:
-
Baykit::BayServer::Docker::Base::DockerBase
- Object
- Baykit::BayServer::Docker::Base::DockerBase
- Baykit::BayServer::Docker::BuiltIn::BuiltInLogDocker
- Includes:
- Agent, Bcf, Baykit::BayServer::Docker, Log, Util
- Defined in:
- lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb
Defined Under Namespace
Classes: AgentListener
Class Attribute Summary collapse
-
.log_item_map ⇒ Object
readonly
Mapping table for format.
Instance Attribute Summary collapse
-
#file_ext ⇒ Object
readonly
Returns the value of attribute file_ext.
-
#file_prefix ⇒ Object
readonly
Log send_file name parts.
-
#format ⇒ Object
readonly
Log format.
-
#log_items ⇒ Object
readonly
Log items.
-
#multiplexers ⇒ Object
readonly
Multiplexer to write to file.
-
#rudders ⇒ Object
readonly
Returns the value of attribute rudders.
Attributes inherited from Baykit::BayServer::Docker::Base::DockerBase
Instance Method Summary collapse
- #init(elm, parent) ⇒ Object
- #init_key_val(kv) ⇒ Object
-
#initialize ⇒ BuiltInLogDocker
constructor
A new instance of BuiltInLogDocker.
- #log(tour) ⇒ Object
Methods included from Docker
Methods inherited from Baykit::BayServer::Docker::Base::DockerBase
Constructor Details
#initialize ⇒ BuiltInLogDocker
Returns a new instance of BuiltInLogDocker.
109 110 111 112 113 114 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 109 def initialize @format = nil @log_items = [] @rudders = {} @multiplexers = {} end |
Class Attribute Details
.log_item_map ⇒ Object (readonly)
Mapping table for format
91 92 93 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 91 def log_item_map @log_item_map end |
Instance Attribute Details
#file_ext ⇒ Object (readonly)
Returns the value of attribute file_ext.
96 97 98 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 96 def file_ext @file_ext end |
#file_prefix ⇒ Object (readonly)
Log send_file name parts
95 96 97 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 95 def file_prefix @file_prefix end |
#format ⇒ Object (readonly)
Log format
99 100 101 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 99 def format @format end |
#log_items ⇒ Object (readonly)
Log items
102 103 104 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 102 def log_items @log_items end |
#multiplexers ⇒ Object (readonly)
Multiplexer to write to file
107 108 109 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 107 def multiplexers @multiplexers end |
#rudders ⇒ Object (readonly)
Returns the value of attribute rudders.
104 105 106 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 104 def rudders @rudders end |
Instance Method Details
#init(elm, parent) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 116 def init(elm, parent) super p = elm.arg.rindex('.') if p == nil @file_prefix = elm.arg @file_ext = "" else @file_prefix = elm.arg[0, p] @file_ext = elm.arg[p+1 .. -1] end if @format == nil raise ConfigException.new(elm.file_name, elm.line_no, BayMessage.get(:CFG_INVALID_LOG_FORMAT, "")) end if !File.absolute_path?(@file_prefix) @file_prefix = BayServer.get_location @file_prefix end log_dir = File.dirname(@file_prefix) if !File.directory?(log_dir) Dir.mkdir(log_dir) end # Parse format compile(@format, @log_items, elm.file_name, elm.line_no) GrandAgent.add_lifecycle_listener(AgentListener.new(self)); end |
#init_key_val(kv) ⇒ Object
146 147 148 149 150 151 152 153 154 155 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 146 def init_key_val(kv) case kv.key.downcase when "format" @format = kv.value else return false end true end |
#log(tour) ⇒ Object
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
# File 'lib/baykit/bayserver/docker/built_in/built_in_log_docker.rb', line 157 def log(tour) sb = StringUtil.alloc(0) @log_items.each do |item| item = item.get_item(tour).to_s if item == nil sb << "-" else sb << item end end # If threre are message to write, write it if sb.length > 0 @multiplexers[tour.ship.agent_id].req_write( @rudders[tour.ship.agent_id], sb, nil, "log" ) end end |