Files
2025-09-29 00:52:08 +02:00

176 lines
5.7 KiB
Plaintext
Executable File

<HTML>
<!--
htmllog.erb
Ruby ERB HTML Template for HTML Log
Author:: David Muir <david.muir@rockstarnorth.com>
Date:: 2 April 2008
-->
<%
# This constant array defines the HTML colour codes for the HTML Formatter.
# Ensure that they meet the same as the custom levels - although note the
# implicit first level of 'ALL'. These can be HTML colour code strings or
# hex colours in the form '#RRGGBB'.
HTML_FORMATTER_COLOURS = {
'All' => 'white',
'Debug' => 'lightblue',
'Info' => 'white',
'Warn' => 'orange',
'Error' => 'red',
'Fatal' => 'red'
}
# Translator events array pre-processing.
name = @log_name
events = @events
errors = []
warnings = []
debug = []
events.each do |event|
errors << event if 'Error' == event.level or 'Fatal' == event.level
warnings << event if 'Warn' == event.level
debug << event if 'Debug' == event.level
end
%>
<HEAD>
<TITLE><%= name %></TITLE>
<META NAME="generator" CONTENT="htmllog.erb">
<LINK REL=Stylesheet HREF="http://10.11.16.15/toolstats/css/global.css" TYPE="text/css" MEDIA="screen">
</HEAD>
<BODY>
<H3><%= name %></H3>
<P>
Hostname: <%= Socket.gethostname %><BR />
</P>
<H3>Summary</H3>
<!--
Summary Results Table
-->
<TABLE>
<TR>
<TD CLASS="borderless">Number of errors:</TD>
<TD CLASS="borderless"><%= errors.size.to_s %></TD>
</TR>
<TR>
<TD CLASS="borderless">Number of warnings:</TD>
<TD CLASS="borderless"><%= warnings.size.to_s %></TD>
</TR>
<TR>
<TD CLASS="borderless">Total number of messages:</TD>
<TD CLASS="borderless"><%= events.size.to_s %></TD>
</TR>
</TABLE>
<!--
Errors Log Table
-->
<% if errors.size > 0 %>
<H3>Errors</H3>
<TABLE>
<TR>
<TH>Date</TH>
<TH>File</TH>
<TH>Line</TH>
<TH>Function</TH>
<TH>Message</TH>
</TR>
<% errors.each do |event| %>
<TR>
<TD><%= event.datetime.strftime( '%Y-%m-%d %H:%M:%S' ) %></TD>
<% if nil != event.trace_info then %>
<TD><%= event.trace_info.filename %></TD>
<TD><%= event.trace_info.line %></TD>
<TD><%= event.trace_info.method_name %></TD>
<% else %>
<TD>N/A</TD>
<TD>N/A</TD>
<TD>N/A</TD>
<% end %>
<TD><%= event.message %></TD>
</TR>
<% end %>
</TABLE>
<% end %>
<!-- End of errors table -->
<!--
Warnings Log Table
-->
<% if warnings.size > 0 %>
<H3>Warnings</H3>
<TABLE>
<TR>
<TH>Date</TH>
<TH>File</TH>
<TH>Line</TH>
<TH>Function</TH>
<TH>Message</TH>
</TR>
<% warnings.each do |event| %>
<TR>
<TD><%= event.datetime.strftime( '%Y-%m-%d %H:%M:%S' ) %></TD>
<% if nil != event.trace_info then %>
<TD><%= event.trace_info.filename %></TD>
<TD><%= event.trace_info.line %></TD>
<TD><%= event.trace_info.method_name %></TD>
<% else %>
<TD>N/A</TD>
<TD>N/A</TD>
<TD>N/A</TD>
<% end %>
<TD><%= event.message %></TD>
</TR>
<% end %>
</TABLE>
<% end %>
<!-- End of warnings table -->
<H3>Sequential Log</H3>
<!--
Main Log Results Table
-->
<TABLE>
<TR>
<TH>Date</TH>
<TH>File</TH>
<TH>Line</TH>
<TH>Function</TH>
<TH>Type</TH>
<TH>Message</TH>
</TR>
<% events.each do |event| %>
<TR>
<TD><%= event.datetime.strftime( '%Y-%m-%d %H:%M:%S' ) %></TD>
<% if nil != event.trace_info then %>
<TD><%= event.trace_info.filename %></TD>
<TD><%= event.trace_info.line %></TD>
<TD><%= event.trace_info.method_name %></TD>
<% else %>
<TD>N/A</TD>
<TD>N/A</TD>
<TD>N/A</TD>
<% end %>
<% if 'Error' == event.level or 'Fatal' == event.level then %>
<TD CLASS='error'><%= event.level %></TD>
<TD><%= event.message %></TD>
<% elsif 'Warn' == event.level %>
<TD CLASS='warning'><%= event.level %></TD>
<TD><%= event.message %></TD>
<% elsif 'Debug' == event.level %>
<TD CLASS='debug'><%= event.level %></TD>
<TD><%= event.message %></TD>
<% else %>
<TD><%= event.level %></TD>
<TD><%= event.message %></TD>
<% end %>
</TR>
<% end %>
</TABLE>
<P>
Log generated at: <%= DateTime.now().strftime( '%Y-%m-%d %H:%M:%S' ) %>
</P>
</BODY>
</HTML>
<!-- End of htmllog.erb -->