Class: LogReader::NginxBasicLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/log_reader/nginx_basic_logger.rb

Overview

Nginx基本日志

Constant Summary collapse

NGINX_BASIC_LOG_PATTERN =

named regexp

Regexp.compile('\A(?<remote_addr>\S+) (?<remote_host>\S+) - \[(?<time_local>[^\]]+)\] "(?<request>[^"]+)" (?<status>\S+) (?<body_bytes_sent>\S+) "(?<http_referer>[^"]*?)" "(?<http_user_agent>[^"]*?)"').freeze
@@log_pattern =
NGINX_BASIC_LOG_PATTERN

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ NginxBasicLogger

Returns a new instance of NginxBasicLogger.



23
24
# File 'lib/log_reader/nginx_basic_logger.rb', line 23

def initialize attrs={}
end

Instance Method Details

#file_to_sql_data(src) ⇒ Object

return:

{
  :field_names => "(a, b, c, d, e, f)",
  :records => [
    ["()", "()", "()"],
    ["()", "()", "()"],
    ["()", "()", "()"],
    ...
    ["()", "()", "()"]
  ]
}


43
44
45
46
47
# File 'lib/log_reader/nginx_basic_logger.rb', line 43

def file_to_sql_data src
  _perform_to_sql_data do
    File.open(src, 'r')
  end
end

#text_to_sql_data(text) ⇒ Object



26
27
28
29
30
# File 'lib/log_reader/nginx_basic_logger.rb', line 26

def text_to_sql_data text
  _perform_to_sql_data do
    "#{text}".split(/\n/)
  end
end