Solved

vbs script extract data from logs within last 24 hours

Posted on 2014-03-15
3
501 Views
Last Modified: 2014-03-16
folks

how can I extract specific data from other logs into another log file but only after a specific timestamplis met i.e. i want to extract the values


"system#notboundexception" Or  "Successfully connected" from log 1 and log 2 but only if they are logged within the last 24 hours from now
log 1

[14/03/14 16:04:51:985 GMT xxxxxxxxxxxx eeeeeeeeeeeeeee
system#notboundexception

[15/03/14 10:04:51:985 GMT xxxxxxxxxxxx eeeeeeeeeeeeeee
system#notboundexception


log 1

[12/03/14 16:24:51:985 GMT xxxxxxxxxxxx eeeeeeeeeeeeeee
system#notboundexception

[15/03/14 10:04:51:985 GMT xxxxxxxxxxxx eeeeeeeeeeeeeee
Successfully connected

output.log should only show the log entries from either log 1 /2 on over the last 24 hours (being today)

how can I achieve this?

Below is my code to  extract the values from the logs , I need help in assuring only todays records are extracted only


Dim objFSO
Dim objFile
Dim objOut
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const intForReading = 1
 
 'create output file
 strOutputName = "output.txt"
 Set objOut = objFSO.GetFolder(strFolder).CreateTextFile(strOutputName, True)
 

'for each file in directory
For Each objFile In objFSO.GetFolder(strFolder).Files
        'if its a log file
        If Right(LCase(objFile.Name), 4) = ".log" Then
               'open log file
                Set objLogFile = objFSO.OpenTextFile(objFile.Path, intForReading, False)
                'loop thorugh log file
                Do While Not objLogFile.AtEndOfStream
                        strData = Replace(objLogFile.ReadLine, ",", "")
                        'replace(var,",","")
                        If InStr(strData, "system#notboundexception") Or InStr(strData, "Successfully connected") Then objOut.WriteLine strData & ", " & objFile.Name & ", " & Date & ", " & Time & ""
                Loop

                objLogFile.Close
                Set objLogFile = Nothing
       
        End If
Next
objOut.Close


all help will do
0
Comment
Question by:rutgermons
  • 2
3 Comments
 
LVL 35

Expert Comment

by:Kimputer
ID: 39932009
In your final check before writing the result:

 If InStr(strData, "system#notboundexception") Or InStr(strData, "Successfully connected") Then objOut.WriteLine strData & ", " & objFile.Name & ", " & Date & ", " & Time & ""

add an extra test for date as in:

if (cdate(mid(strData,2,17)) > DateAdd("d", -1, Now)) then
0
 

Author Comment

by:rutgermons
ID: 39932302
Kimputer

Could you show me where this exactly fits in the code?

thanks in advance!
0
 
LVL 35

Accepted Solution

by:
Kimputer earned 500 total points
ID: 39932603
Sorry, I thought you did the original code, so I thought you could fit it in yourself. But here's the full code:

Dim objFSO
Dim objFile
Dim objOut
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const intForReading = 1
 
 'create output file
 strOutputName = "output.txt"
 Set objOut = objFSO.GetFolder(strFolder).CreateTextFile(strOutputName, True)
 

'for each file in directory
For Each objFile In objFSO.GetFolder(strFolder).Files
        'if its a log file
        If Right(LCase(objFile.Name), 4) = ".log" Then
               'open log file
                Set objLogFile = objFSO.OpenTextFile(objFile.Path, intForReading, False)
                'loop thorugh log file
                Do While Not objLogFile.AtEndOfStream
                        strData = Replace(objLogFile.ReadLine, ",", "")
                        'replace(var,",","")
                        If InStr(strData, "system#notboundexception") Or InStr(strData, "Successfully connected") Then
							if (cdate(mid(strData,2,17)) > DateAdd("d", -1, Now)) then
								objOut.WriteLine strData & ", " & objFile.Name & ", " & Date & ", " & Time & ""
							end if
						end if 
                Loop

                objLogFile.Close
                Set objLogFile = Nothing
       
        End If
Next
objOut.Close

Open in new window

0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
What is assert.deepEqual? 4 46
xcopy loop 13 54
To check for the file in a batch script 8 35
Assigning VBA code to a specific worksheet 3 24
This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question