This is an automated email from the ASF dual-hosted git repository. curcuru pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/whimsy.git
commit 6ca5db82135df2f93cae68e7a2b206db1d9c8166 Author: Shane Curcuru <[email protected]> AuthorDate: Mon May 7 19:24:39 2018 -0400 Add simplistic access log display --- www/members/logs.cgi | 160 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 114 insertions(+), 46 deletions(-) diff --git a/www/members/logs.cgi b/www/members/logs.cgi index f7a8fa6..2bc15b4 100755 --- a/www/members/logs.cgi +++ b/www/members/logs.cgi @@ -7,6 +7,114 @@ require 'wunderbar' require 'wunderbar/bootstrap' require 'whimsy/logparser' +# Emit table of interesting error logs +def display_errors() + _whimsy_panel_table( + title: 'Partial error listing', + helpblock: -> { + _ 'This only includes a subset of possibly interesting error log entries.' + _a 'See the full server logs directory.', href: '/members/log' + } + ) do + logs = LogParser.get_errors() + _table.table.table_hover.table_striped do + _thead_ do + _tr do + _th 'Date/Time' + _th '' + _th 'Error text or array of errors' + end + _tbody do + logs.each do | key, val | + _tr_ do + _td do + _ key + end + _td do + if val.is_a?(Array) + _span.glyphicon.glyphicon_remove_circle :aria_hidden, aria_label: 'List of code errors' + elsif /Passenger/ =~ val + _span.glyphicon.glyphicon_briefcase :aria_hidden, aria_label: 'Passenger server message' + else + _span.glyphicon.glyphicon_remove_sign :aria_hidden, aria_label: 'stderr line from code' + end + end + _td do + if val.is_a?(Array) + val.each do |i| + _ i + _br + end + else + _ val + end + end + end + end + end + end + end + end +end + +# Emit table of interesting access logs (optional, with ?access) +def display_access(f) + apps, misses = LogParser.get_access_reports(f) + + _p do + _ 'This only includes a small subset of possibly interesting access log entries, roughly categorized by major application (board, roster, etc.)' + _a 'See the full server logs directory.', href: '/members/log' + end + _h2 'Access Log Synopsis - by Application' + apps.each do |name, data| + _h3 "#{name} - application" + _table.table.table_hover.table_striped do + _thead_ do + _tr do + _th 'User list' + _th 'URLs hit (total)' + end + _tbody do + _tr_ do + _td do + data['remote_user'].each do |remote_user| + _ remote_user + end + end + _td do + data['uri'].sort.each do |uri| + _ uri + _br + end + end + end + end + end + end + end + _whimsy_panel(title: 'Access Log Synopsis - Error URLs') do + _p 'This is a simplistic listing of all URLs with 4xx/5xx error codes (excluding obvious bots).' + erruri = {} + errref = {} + misses.each do |h| + erruri[h['uri']] = '' + errref[h['referer']] = '' + end + _h3 'URIs hit that returned 4xx/5xx errors' + _ul do + erruri.keys.sort.each do |u| + _li u + end + end + _h3 'Referrers for all above 4xx/5xx errors' + _ul do + errref.keys.sort.each do |u| + _li u + end + end + end +end + _html do _body? do _whimsy_body( @@ -27,52 +135,12 @@ _html do end } ) do - _whimsy_panel_table( - title: 'Partial error listing', - helpblock: -> { - _ 'This only includes a subset of possibly interesting error log entries.' - _a 'See the full server logs directory.', href: '/members/log' - } - ) do - logs = LogParser.get_errors() - _table.table.table_hover.table_striped do - _thead_ do - _tr do - _th 'Date/Time' - _th '' - _th 'Error text or array of errors' - end - _tbody do - logs.each do | key, val | - _tr_ do - _td do - _ key - end - _td do - if val.is_a?(Array) - _span.glyphicon.glyphicon_remove_circle :aria_hidden, aria_label: 'List of code errors' - elsif /Passenger/ =~ val - _span.glyphicon.glyphicon_briefcase :aria_hidden, aria_label: 'Passenger server message' - else - _span.glyphicon.glyphicon_remove_sign :aria_hidden, aria_label: 'stderr line from code' - end - end - _td do - if val.is_a?(Array) - val.each do |i| - _ i - _br - end - else - _ val - end - end - end - end - end - end - end + # Display whimsy_access.log data if requested (takes longer) + if true # ENV['QUERY_STRING'].include? 'access' + display_access('/Users/curcuru/src/g/wdev/errors/whimsy_access.log-20180507.gz') + else + display_errors() end end end -end +end \ No newline at end of file -- To stop receiving notification emails like this one, please contact [email protected].
