diff options
| author | Eugen Wissner <belka@caraus.de> | 2025-11-26 09:55:19 +0100 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2025-11-26 09:55:19 +0100 |
| commit | b0a9f7cdd8734b7a537e18d381fd744cc0664c42 (patch) | |
| tree | dd16be8245447f1ae39baebfc0b092efa6276ca4 /bin/read_logs.rb | |
| parent | 5e4c38c28ecfd927a466aa128b9cb85a2e0e4ebc (diff) | |
| download | kazbek-b0a9f7cdd8734b7a537e18d381fd744cc0664c42.tar.gz | |
Remove read_logs.rb
Diffstat (limited to 'bin/read_logs.rb')
| -rwxr-xr-x | bin/read_logs.rb | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/bin/read_logs.rb b/bin/read_logs.rb deleted file mode 100755 index cf4011b..0000000 --- a/bin/read_logs.rb +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env ruby -# This Source Code Form is subject to the terms of the Mozilla Public License, -# v. 2.0. If a copy of the MPL was not distributed with this file, You can -# obtain one at https://mozilla.org/MPL/2.0/. - -# frozen_string_literal: true - -require 'date' -require 'zlib' -require 'pathname' - -class Visit - attr_accessor :page, :date - - def initialize(match_data) - @date = Date.iso8601 match_data[1] - @page = match_data[2].strip - end -end - -def numeric_extension(filename) - if filename.extname == '.gz' - filename.sub_ext('').extname[1..-1].to_i - elsif filename.extname == '.log' - 0 - else - filename.extname[1..-1].to_i - end -end - -entries = Dir.new('log') - .entries - .reject { |entry| entry.start_with? '.' } - .map { |entry| Pathname.new entry } - .sort { |a, b| numeric_extension(b) <=> numeric_extension(a) } - -def read_lines(stream) - if ARGV.length > 0 - regex = /([0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}).+#{ARGV[0]}(.+) / - else - regex = /([0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2})(.+) / - end - - stream - .map { |line| line.match regex } - .reject { |line| line.nil? } - .map { |match_data| Visit.new match_data } -end - -lines_in_all_files = entries.flat_map do |log| - log_path = Pathname.new('log') + log - - if log_path.extname == '.gz' - File.open log_path.to_s do |file| - read_lines Zlib::GzipReader.new(file).readlines - end - else - read_lines File.readlines(log_path.to_s) - end -end - -lines_in_all_files.each do |visit| - puts "#{visit.date.strftime} (#{visit.page})" -end |
