Today I’m going to share a little bit of code that I wrote. It’s nothing fancy, so if you’re accustomed to writing VBScript this most likely wont help you.
Put this at the top of your own scripts to add a function to write all debug comments to a log. I found myself needing this when my scripts were going to be run en masse and outputting comments to the terminal wasn’t going to cut it.
NOTES:
- Set boolDebug to True to turn on debugging. Alternatively, call /DEBUG from the command line to turn on debugging (and override boolDebug)
- Set strDebugDir and strDebugFile to a location the script has write privileges to.
- To use it, call the Debug() function with whatever you want written to the file. i.e. Debug(“Text message goes here!”) or Debug(“Error: ” & strErr)
''' BEGIN USER DEFINED VARIABLES''' boolDebug = true strDebugDir = "C:\Debug" 'What folder will your log be in? strDebugFile = "\logfile.txt" 'What is the name of your logfile? ''' END USER DEFINED VARIABLES ''' On Error Resume Next 'Handle user variables intCount = WScript.Arguments.Count - 1 ' reset arguments to proper counting for i = 0 to intCount strArgument = UCase(WScript.Arguments(i)) ' to uppercase if strArgument = "/DEBUG" then boolDebug = true elseif strArgument = "/NODEBUG" then boolDebug = false end if next 'Setup Debugging if boolDebug = true then set objFSO = CreateObject("Scripting.FileSystemObject") if not objFSO.FolderExists(strDebugDir) then set objDebugDir = objFSO.CreateFolder(strDebugDir) end if if not objFSO.FileExists(strDebugDir & strDebugFile) then set objDebugFile = objFSO.CreateTextFile(strDebugDir & strDebugFile) end if set objDebugDir = nothing set objDebugFile = nothing strDateStamp = Now() end if 'Handle all debugging sub Debug( strLog ) if boolDebug = true then set objTextFile = objFSO.OpenTextFile(strDebugDir & strDebugFile, 8, true) objTextFile.WriteLine( strDateStamp & ": " & strLog ) objTextFile.Close() end if end sub
Enjoy! I always appreciate feedback and credit, but it’s not required.
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.