Using Date Modifiers in file masks are a great way to increase the speed of your imports as they remove all the logs you don’t care about from the import list.
If you’re using WebSpy Vantage, you are probably interested in filtering your log file imports by date (only import files from the month of June for example). The obvious way to do this is to specify a date filter using the filters page in the Input Wizard. The problem is Vantage will still check every record in every log file being imported to see if it matches the date filter. If you have months or years worth of logs in the folder being imported, that’s a lot of data that Vantage has to pointlessly sift through.
The good news is, if your log files contain the date in their file name, then you can use file masks to instruct Vantage to never touch these unwanted files.
A bit about file masks…
You can specify file masks such as *, *.log, *.gzip, *WEB*.w3c, etc to import logs with specific file extensions, or with specific strings in the file name (such as WEB or FWS to import only Microsoft ISA Web Proxy or Firewall logs respectively).
But if your log file contains the date in the file name, you can also use date modifiers in the file mask to select logs from a particular month, date or year.
Say you have log files that look like this:
and so on..
You can create a simple file mask to only import log files from the month of August very easily using 200908*, or 200908*.log.
Using date modifiers in file masks
But if you’re using Tasks to automatically create a new storage each month, you don’t want to have to worry about manually changing the file mask to 200909*.log when the first day of the next month rolls around.
So intsead, you can use a date modifier in the file mask that will automatically select the logs for the current month, every time your task runs. For the above example, the file mask looks like this:
%[yyyyMM]* (you can also use %[yyyyMM]*.log)
When the task runs, %[yyyyMM] will be replaced with actual values from the current date. So if the task runs on the 1st of August 2009, the file mask will become 200909* (or 200909*.log).
Dealing with different date formats
You can also use date modifiers for log files that look like this:
In this case the file mask looks like:
%[yyyy-MMM]* - notice the three MMM's as opposed to two MM's used previously.
Vantage uses the custom date and time format strings available in the .NET framework, so for more information on whether to use m or M or MMM, please refer to this article http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Importing logs from previous months
If you would like to import logs from a previous month, this can also be done by adding an additional element to the date modifier. For example, to import the previous months logs you can use:
Notice the -1m meaning ‘minus one month’. You can also use -1d (for minus one day), or -1y (for minus one year).
Here are some more examples to give you an idea of what is possible using date modifiers. Assuming the date is 14th of August 2009:
%[-1y,yyyyMM]*.log will create a file mask of 200808*.log
%[yyyy-MM-dd]*.log will create a file mask of 2009-08-14*.log
%[-4d,yyyyMMdd]*.log will create a file mask of 20090810*.log
%[1-m,-4d,yyyyMMdd]*.log will create a file mask of 20090710*.log
%[-1y,1-m,-4d,yyyyMMdd]*.log will create a file mask of 20080710*.log
ISALOG_%[-1m,yyyyMM]*_WEB_*.w3c will create a file mask of ISALOG_200907*_WEB_*.w3c
*%[-1m,yyyyMM]* will create a file mask of *200907*
Adding a file mask
File masks are configured on the Input Selection page of the Input Wizard, when you select Add | Folder.
There is also an option to save the literal date into the file mask when the task is run. For more information on this option, please see my previous blog about this feature.
Other uses for date modifiers
Date Modifiers are a great way to speed up log file imports, but you can also use them when specifying storage names as well as report names. For example, if you specify a storage name of %[yyyyMM]_storage, this will create storages with the names 200907_storage, 200908_storage and so on. When selecting the storages to report on, you can click the Add button on the storage selection toolbar in the Report Wizard, and specify storages such as %[-1m,yyyyMM]_storage, to report on the previous month’s storage. For more information, please see Automatic Importing and Reporting using Tasks.
I hope this helps someone out there. Let me know how you go!