'********************************************************************************************' '* Configuration Variables *' '********************************************************************************************' application("gUseLogFile") = false application("gLogFileName") = "\WebStats.log" ' Setting this variable to true may pose a security risk due to the fact that anyone may clear ' your log if they can figure out the URL. This places a 'Clear Log' link on your Archive Log ' viewer page so that you may clear the log from HTML. application("gClearLog") = false '********************************************************************************************' '* Configuration Variables *' '********************************************************************************************' '********************************************************************************************' '* Tracking Variables *' '********************************************************************************************' ' This section initializes your tracking variables used to store captured data ' application("gSessions") = 0 application("gResetDate") = date() application("gResetTime") = now() application("gToday") = now() application("gSessionsToday") = 0 application("gSessionsYesterday") = 0 if application("gSessions") = "" then application("gSessions") = 0 application("gSessionsSinceReset") = application("gSessions") application("gPeakSessions") = application("gSessions") application("gPeakSessionDate") = now() application("gSessionTimeout") = 20 dim lSessionLog (6,0) application("gSessionLog") = lSessionLog ' Set the gUseLogFile to false to turn off file logging '********************************************************************************************' '* Tracking Variables *' '********************************************************************************************' END SUB SUB Application_OnEnd END SUB SUB Session_OnStart '********************************************************************************************' '* Capture Data for every session *' '********************************************************************************************' if application("gUseLogFile") = true then ' Open or Create Log file Set mFileSystem = server.createobject("Scripting.FileSystemObject") if mFileSystem.FileExists(server.mappath("/") & application("gLogFileName")) = false then set mFile = mFileSystem.CreateTextFile (server.mappath("/") & application("gLogFileName")) mFile.WriteLine("Log Started: " & now) mFile.WriteLine() mFile.Close end if set mFile = mFileSystem.OpenTextFile((server.mappath("/") & application("gLogFileName")), 8) ' Log entries per session - Each line represents a log entry - comment out information ' that you don't want included in yoru log. mFile.writeline ("[" & now & "]") mFile.WriteLine(" IP : " & request.servervariables("REMOTE_ADDR")) mFile.WriteLine(" Referrer : " & request.servervariables("REFERER")) mFile.WriteLine(" Server : " & request.servervariables("SERVER_NAME") & " (Port:" & request.servervariables("SERVER_PORT") & ")") mFile.WriteLine(" Start URL : " & request.servervariables("SCRIPT_NAME")) mFile.WriteLine(" SSL/HTTPS : " & request.servervariables("HTTPS")) mFile.WriteLine(" Protocol : " & request.servervariables("SERVER_PROTOCOL")) mFile.WriteLine(" Language : " & request.servervariables("HTTP_ACCEPT_LANGUAGE")) mFile.WriteLine(" User Agent: " & request.servervariables("HTTP_USER_AGENT")) mFile.WriteLine(" Cookie Inf: " & request.servervariables("HTTP_COOKIE")) mFile.WriteLine(" Req Method: " & request.servervariables("REQUEST_METHOD")) mFile.WriteLine() 'mFile.Writeline(mLogLine) end if application.lock lSessionLog = application("gSessionLog") lSessionLogLength = UBOUND(lSessionLog,2) redim preserve lSessionLog(6, lSessionLogLength+1) lSessionLog(0, lSessionLogLength) = session.sessionid lSessionLog(1, lSessionLogLength) = time() lSessionLog(2, lSessionLogLength) = request.servervariables("REMOTE_HOST") lSessionLog(3, lSessionLogLength) = request.servervariables("SCRIPT_NAME") lSessionLog(4, lSessionLogLength) = request.servervariables("HTTP_ACCEPT_LANGUAGE") lSessionLog(5, lSessionLogLength) = request.servervariables("HTTP_REFERER") lSessionLog(6, lSessionLogLength) = request.servervariables("HTTP_USER_AGENT") application("gSessionLog") = lSessionLog session.timeout = application("gSessionTimeout") application("gSessions") = application("gSessions") + 1 application("gSessionsToday") = application("gSessionsToday") + 1 application("gSessionsSinceReset") = application("gSessionsSinceReset") + 1 if application("gSessions") >= application("gPeakSessions") then application("gPeakSessions") = application("gSessions") application("gPeakSessionDate") = now() end if if not datepart("d", application("gToday")) = datepart("d", date()) then '* New Day *' application("gToday") = date() application("gSessionsYesterday") = application("gSessionsToday") application("gSessionsToday") = application("gSessions") '* Reset to current sessions *' end if if application("gUseLogFile") = true then mFile.Close end if application.unlock '********************************************************************************************' '* Capture Data for every session *' '********************************************************************************************' END SUB SUB Session_OnEnd '********************************************************************************************' '* Modify Active Sessions after departure *' '********************************************************************************************' application.lock application("gSessions") = application("gSessions") - 1 if application("gUseLogFile") = true then ' Open or Create Log file Set mFileSystem = server.createobject("Scripting.FileSystemObject") if mFileSystem.FileExists(server.mappath("/") & application("gLogFileName")) = false then set mFile = mFileSystem.CreateTextFile (server.mappath("/") & application("gLogFileName")) mFile.WriteLine(" Session Ended: " & now & " - " & request.Servervariables("URL")) mFile.WriteLine() mFile.Close end if end if application.unlock '********************************************************************************************' '* Modify Active Sessions after departure *' '********************************************************************************************' END SUB