Download: Logfiles im Browser anzeigen

Waldo
Hallo,
ich habe ein Programm zur Zusammenfassung einiger Logfiles mit den Eintragungen des aktuellen Datums in ein HTML-Dokument erstellt. Es wird über den HTTP-Server von Jana abgerufen.

Im beigefügten Zip-Archiv liegen die Dateien ShowLogs.shtml, ShowLogs.bat und dispfrom.exe. alles nach jana2\html kopieren und über den Browser mit http://{JanaServer IP}/ShowLogs.shtml aufrufen. Zuvor muss jedoch noch der Pfad zu Jana im Batch und in der .shtml-Datei angepasst werden.


Gruss

Waldo
arnie59
Hallo Waldo,
das ist ja cool fröhlich

Danke.

Gruß Arnold

Nachtrag:
Lässt sich das Script auch auf andere Logs ausweiten oder stehen da die unterschiedlichen Datum-Formate im Weg?
Waldo
Hallo,
im Batch liegen die Datumsinfos einzeln vor. Es gibt den Tag als Nummer (01-31), den Monat als Nummer (01-12) und als Buchstabenkürzel (Jan-Dec) und das Jahr mit vier Ziffern. Damit kann man andere Logs analysieren.

dispfrom.exe zeigt alles an, was ab dem ersten Fund eines Argumentstrings im Log steht:

dispfrom "02/May/2005" <Proxy.log

zeigt alle Zeilen ab dem ersten Fund von "02/May/2005" an.

Es bleibt also die Batchdatei zu erweitern:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
@echo off
set Logfile=%1
if "%1"=="" set Logfile=Logs.html
rem
rem ----- JanaPfad ---- anpassen!! ----
set JanaPfad=c:\utils\Jana2
rem
set LogPfad=%JanaPfad%\logfiles
set dispfrom=%JanaPfad%\html\dispfrom
rem
set STDOUT=1^>^>%Logfile%
set STDOUT0=1^>%Logfile%
rem
if "%1"=="HTTP-Server" (set STDOUT=& set STDOUT0=)
rem
set h1=^^^<h2^^^>
set h1e=^^^</h2^^^>
set p=^^^<p^^^>
set pe=^^^</p^^^>
set a=^^^<a
set ae=^^^</a^^^>
set pre=^^^<pre^^^>
set pree=^^^</pre^^^>
set nbsp=^^^&nbsp
set br=^^^<br^^^>
set table=&rem ^^^<table^^^>
set tablee=&rem ^^^</table^^^>
set tbody=&rem ^^^<tbody^^^>
set tbodye=&rem ^^^</tbody^^^>
set td=&rem ^^^<td^^^>
set tde=&rem ^^^</td^^^>
set tr=&rem ^^^<tr^^^>
set tre=&rem ^^^</tr^^^>
:run
rem
for /f "tokens=1,2,3,4,* delims=. " %%a in ('date/t') do (set WoTag=%%a& set Tag=%%b& set Monat=%%c& set Jahr=%%d& if "%%d"=="" (set WoTag=&set Tag=%%a& set Monat=%%b& set Jahr=%%c))
if "%Monat%"=="01" (set MMonat=Jan& goto endM)
if "%Monat%"=="02" (set MMonat=Feb& goto endM)
if "%Monat%"=="03" (set MMonat=Mar& goto endM)
if "%Monat%"=="04" (set MMonat=Apr& goto endM)
if "%Monat%"=="05" (set MMonat=May& goto endM)
if "%Monat%"=="06" (set MMonat=Jun& goto endM)
if "%Monat%"=="07" (set MMonat=Jul& goto endM)
if "%Monat%"=="08" (set MMonat=Aug& goto endM)
if "%Monat%"=="09" (set MMonat=Sep& goto endM)
if "%Monat%"=="10" (set MMonat=Oct& goto endM)
if "%Monat%"=="11" (set MMonat=Nov& goto endM)
if "%Monat%"=="12" (set MMonat=Dec)
:endM
set Label=Top
echo %a% href="#%Label%" name="%Label%"^> %ae% %STDOUT0%
echo %WoTag% %Tag%.%MMonat% %Jahr% %time% %br% %STDOUT%
rem --- Header mit den Links zu den Logfileeinträgen -------
echo %a% href="#Server.Log"^>Server.Log 	%ae% %nbsp% %STDOUT%
echo %a% href="#Dns.Log"^>Dns.Log 		%ae% %nbsp% %STDOUT%
echo %a% href="#Socks.Log"^>Socks.Log 		%ae% %nbsp% %STDOUT%
echo %a% href="#Pop_Prot.Log"^>Pop_Prot.Log 	%ae% %nbsp% %STDOUT%
echo %a% href="#Smtp_Prot.Log"^>Smtp_Prot.Log 	%ae% %nbsp% %STDOUT%
echo %a% href="#Http.Log"^>Http.Log 		%ae% %nbsp% %STDOUT%
echo %a% href="#Proxy.Log"^>Proxy.Log 		%ae% %nbsp% %STDOUT%
echo %br%%br%%br%%br% %table% %tbody% %STDOUT%
rem --- Server .log ---
Set Label=Server.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%.%Monat%.%Jahr% <%LogPfad%\Server.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem --- Dns.log ---
Set Label=Dns.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%/%MMonat%/%Jahr% <%LogPfad%\dns.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem --- Socks.log ---
Set Label=Socks.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%/%MMonat%/%Jahr% <%LogPfad%\Socks.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem --- Pop_Prot.log ---
Set Label=Pop_Prot.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%.%Monat%.%Jahr% <%LogPfad%\Pop_Prot.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem ---- Smtp_Prot.log ---
Set Label=Smtp_Prot.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%.%Monat%.%Jahr% <%LogPfad%\Smtp_Prot.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem ---- Http.log ---
Set Label=Http.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%/%MMonat%/%Jahr% <%LogPfad%\Http.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem ---- Proxy.log ---
Set Label=Proxy.Log
echo %tr% %td% %a% href="#%Label%" name="%Label%"^> %ae% %a% href="#Top" name="Top"^>Top %h1% %ae% %p% %a% href="#%Label%" name="%Label%"^>%Label% %ae% %pe% %h1e% %tde% %td% %pre% %STDOUT%
%dispfrom% %Tag%/%MMonat%/%Jahr% <%LogPfad%\Proxy.log %STDOUT%
echo %pree% %tde% %tre% %STDOUT%
rem ---- Abspann mit Link zum Anfang ----
echo  %a% href="#Top" name="Top"^>Top %ae% %STDOUT%
if "%1"=="HTTP-Server" exit
start %LogFile%


Einfach ein Logfile in die Linkliste oben einbauen und im Analysebereich mit einer Suchroutine (z.B.: dispfrom.exe) nach %STDOUT% ausgeben.

Gruss Waldo