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)