1 |
#!/usr/bin/perl |
2 |
|
3 |
require CGI; |
4 |
|
5 |
my $query = new CGI; |
6 |
|
7 |
my ($grep) = $query->param('grep'); |
8 |
|
9 |
unless (defined $grep) { |
10 |
$grep = ""; |
11 |
} |
12 |
|
13 |
print "Content-type: text/html\n\n"; |
14 |
|
15 |
print <<"END"; |
16 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
17 |
|
18 |
<html> |
19 |
|
20 |
<head> |
21 |
<title>The i-scream Project Logfile Viewer</title> |
22 |
<meta name="description" content="The i-scream Project is a central |
23 |
monitoring system for Unix, Linux and NT servers."> |
24 |
<meta name="keywords" content="i-scream, project, central monitoring |
25 |
system, unix, linux, nt, server, alert"> |
26 |
<meta name="generator" content="notepad on acid, aye."> |
27 |
</head> |
28 |
|
29 |
<body bgcolor="#ffffff" link="#0000ff" alink="#3333cc" vlink="#3333cc" |
30 |
text="#000066"> |
31 |
|
32 |
<a href="http://www.i-scream.org.uk"><img border="0" src="/i-scream.gif"></a> |
33 |
|
34 |
<form action="log.cgi" method="GET"> |
35 |
Complete listing of the server logfile. grep <input type="text" size="20" value="$grep" name="grep"> |
36 |
</form> |
37 |
<hr> |
38 |
<pre> |
39 |
END |
40 |
|
41 |
print_file("../www/server.log", $grep); |
42 |
|
43 |
print <<"END"; |
44 |
</pre> |
45 |
</body> |
46 |
|
47 |
</html> |
48 |
END |
49 |
|
50 |
exit 0; |
51 |
|
52 |
|
53 |
sub print_file ($$) { |
54 |
my ($filename, $grep) = @_; |
55 |
open(FILE, $filename) or die "Cannot open $filename: $!\n"; |
56 |
# Use $_ implicitly throughout. |
57 |
while (<FILE>) { |
58 |
# Must do the next line first! |
59 |
s/&/&/g; |
60 |
s/"/"/g; |
61 |
s/</</g; |
62 |
s/>/>/g; |
63 |
next unless (/$grep/); |
64 |
s/^(.{0})(.*core\.loggers\..*: started)$/<hr size=10 color=blue>$2/; |
65 |
s/(.*)] (.*)}:(.*)/$1] <i>$2<\/i>:<b>$3<\/b>/; |
66 |
print; |
67 |
} |
68 |
} |
69 |
|