Avatar billede cotus Nybegynder
13. juni 2002 - 16:37 Der er 7 kommentarer og
1 løsning

Forklaring...

Jeg har dette script:

<%
    ' skal tomme referrers også gemmes i logfil ?
    logTomme = true

    ' find logfilens navn ud fra dags dato
    'filename = right("0" & year(now), 2) & right("0" & month(now), 2) & right("0" & day(now), 2) & ".log"
   
    'En samlet logfil istedet for en pr dag
    filename = "tracker.log"
       
    ' opret system objektet til filhåndtering
    Set fs = CreateObject("Scripting.FileSystemObject")

    ' opret en reference til vores logfil - enten eksisterende ellers oprettes en ny
    Set a = fs.OpenTextFile(server.mappath(filename), 8, True, False)

    ' hvis der er nogen referrer, så gemmes denne
    if request.servervariables("HTTP_REFERER") <> "" then
        a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " &
        &request.servervariables("HTTP_USER_AGENT"))
    else
        if logTomme then
            a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " & request.servervariables("HTTP_USER_AGENT"))
        end if
    end if

    a.close
%>

Hvordan laver jeg sådan, at det logger flere ting, og kan nogen sætte det op på en sådan måde, at det står som noge lign. det her:

Request.ServerVariables("SCRIPT_NAME")
Request.ServerVariables("SCRIPT_MAP")

, altså overskueligt?
Avatar billede eagleeye Praktikant
13. juni 2002 - 16:44 #1
skal det stå på samme linie?
Eller kan du tilføje en eksta lige før a.Close.

  a.writeline (Request.ServerVariables("SCRIPT_NAME"))
  a.close
Avatar billede tmceu Praktikant
13. juni 2002 - 16:44 #2
Handler det bare om at få de enkelte elementer du logger i en linie for sig selv ?

I så fald kan du anvende write i stedet for writeline og så skrive en vbCrLf efter sidste felt. En anden måde at gøre det overskueligt på, kunne være at udskrive vbTab mellem hver enkelt felt.

Hvis det ikke er dette, så sig til...
Avatar billede eagleeye Praktikant
13. juni 2002 - 16:45 #3
jeg ville lave denne if:
    ' hvis der er nogen referrer, så gemmes denne
    if request.servervariables("HTTP_REFERER") <> "" then
        a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " &
        &request.servervariables("HTTP_USER_AGENT"))
    else
        if logTomme then
            a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " & request.servervariables("HTTP_USER_AGENT"))
        end if
    end if


Om til så man ikke har det samme kode to gange:

    ' hvis der er nogen referrer, så gemmes denne
    if (request.servervariables("HTTP_REFERER") <> "") OR (logTomme = true) then
        a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " &
        &request.servervariables("HTTP_USER_AGENT"))
    end if
Avatar billede cotus Nybegynder
13. juni 2002 - 16:52 #4
Jeg vil gerne have sat dette script op, og evt. lavet om, så det er overskueligt, for en der ikke er særlig god til ASP...

Når man laver INSERT INTO, kan man jo sætte det ind på den "grimme" måde:

(navn, adresse) values (svend, københavn)

Eller:

strSQL = strSQL & "navn, "
strSQL = strSQL & "adresse) "
strSQL = strSQL & "'svend', "
strSQL = strSQL & "'københavn', "

Jeg vil gerne have stillet scriptet op på en overskuelig måde, som nederste eksempel her...

Alt som jeg gerne vil logge, skal være på én linie... altså for hver bruger...

Håber det gav mening?

/cotus
Avatar billede eagleeye Praktikant
13. juni 2002 - 16:59 #5
Lav disse linier:
    ' hvis der er nogen referrer, så gemmes denne
    if request.servervariables("HTTP_REFERER") <> "" then
        a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " &
        &request.servervariables("HTTP_USER_AGENT"))
    else
        if logTomme then
            a.writeline(time & " : [" & request.servervariables("REMOTE_ADDR") & "] - " & request.servervariables("HTTP_REFERER") & " - " & request.servervariables("HTTP_USER_AGENT"))
        end if
    end if


OM TIL :


' hvis der er nogen referrer, så gemmes denne
if (request.servervariables("HTTP_REFERER") <> "") OR (logTomme = true) then
  a.write(time & " : ")
  a.write([" & request.servervariables("REMOTE_ADDR") & "]" - ")
  a.write(request.servervariables("HTTP_REFERER") & " - ")
  a.write(request.servervariables("HTTP_USER_AGENT") & " - ")
  a.write(Request.ServerVariables("SCRIPT_NAME"))
  a.write(vbCrLf)
end if
Avatar billede eagleeye Praktikant
13. juni 2002 - 17:01 #6
hmm det er gået lidt galt i denne linie:
a.write([" & request.servervariables("REMOTE_ADDR") & "]" - ")
Skal være:
a.write("[" & request.servervariables("REMOTE_ADDR") & "] - ")
Avatar billede cotus Nybegynder
13. juni 2002 - 17:02 #7
Så kan jeg f.eks. bare smide denne linie ind i koden:

a.write(request.servervariables("SCRIPT_MAP") & " - ")

, og så funker det?

/cotus
Avatar billede eagleeye Praktikant
13. juni 2002 - 17:05 #8
Jeps Det skulle det gerne.. men jeg er ikke så sikker på der findes en servervirable som hedder SCRIPT_MAP....


Du kan evt prøve at tilføje:  HTTP_ACCEPT_LANGUAGE
a.write(request.servervariables("HTTP_ACCEPT_LANGUAGE") & " - ")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester