lib/pmux-gw/history.rb in pmux-gw-0.1.11 vs lib/pmux-gw/history.rb in pmux-gw-0.1.12
- old
+ new
@@ -95,18 +95,25 @@
else
@logger.logging("error", "can not write file, file object is nil")
end
end
- def is_skip elems, peername, pid, mapper, start_datetime
- return true if !peername.nil? && peername != "" && /#{peername}/ !~ elems[1]
- return true if !pid.nil? && pid != "" && /#{pid}/ !~ elems[3]
- return true if !mapper.nil? && mapper != "" && /#{mapper}/ !~ elems[4]
+ def is_skip elems, peername, pid, mapper, start_datetime, use_regex
+ if use_regex
+ return true if !peername.nil? && peername != "" && /#{peername}/ !~ elems[1]
+ return true if !pid.nil? && pid != "" && /#{pid}/ !~ elems[3]
+ return true if !mapper.nil? && mapper != "" && /#{mapper}/ !~ elems[4]
+ else
+ return true if !peername.nil? && peername != "" && peername != elems[1]
+ return true if !pid.nil? && pid != "" && pid != elems[3]
+ return true if !mapper.nil? && mapper != "" && mapper != elems[4]
+ end
return true if !start_datetime.nil? && start_datetime != "" && start_datetime != elems[5]
+ return false
end
- def load peername, pid, mapper, start_datetime, start_date, end_date, need_command = false, html_escape = false
+ def load peername, pid, mapper, start_datetime, start_date, end_date, need_command = false, html_escape = false, use_regex=false
# 指定された期間のログファイルからデータを読み込む
# フォーマット(タブ区切り):
# id\tpeername\tuser\tpid\tmapper\tstart_datetime\tend_datetime\telapsed\tstatus\tcommand\n
# ヒストリの順番はhistory_id_orderに保存し
# ヒストリの内容はhistoryに保存する
@@ -116,10 +123,10 @@
file_path = build_file_path(start_date)
begin
open(file_path) {|file|
while line = file.gets() do
elems = line.chomp().split("\t")
- next if is_skip(elems, peername, pid, mapper, start_datetime)
+ next if is_skip(elems, peername, pid, mapper, start_datetime, use_regex)
id = elems.shift()
command = elems.pop() if !need_command
elems.unshift(start_date.to_s)
elems.each_with_index { |e, i| elems[i] = CGI.escapeHTML(e) } if html_escape
if history.key?(id)