在 Log Parser Lizard IIS 日志查询的 FROM 部分中使用变量

Using a variable within the FROM section of a Log Parser Lizard IIS log query

我正在尝试加快我的 Log Parser Lizard 查询到我们其中一台服务器上的 IIS 日志的速度。

这种查询有效,但速度很慢:

SELECT TOP 100 * FROM '\myserver\c$\inetpub\logs\LogFiles\W3SVC1\u_ex*.log'
ORDER BY time DESC

如果我指定今天的日志文件名会快很多:

SELECT TOP 100 * FROM '\myserver\c$\inetpub\logs\LogFiles\W3SVC1\u_ex190731.log'
ORDER BY time DESC

我正在尝试找到一种方法来实现这一点,而不必不断更改查询中的文件名以匹配今天的日期。我找不到在查询的 FROM 部分中使用 strcat 等变量或函数的任何方法。

所以简单来说,有没有办法将今天的日期注入到这样的查询中:

SELECT * FROM 'C:\test\%DATE%.txt'

我发现 LogParserLizard supports inline VB.NET code 是使用 <% ... %> 标记指定的,因此只需使用该语法插入日期即可,效果很好。

SELECT TOP 100 *
FROM '\myserver\c$\inetpub\logs\LogFiles\W3SVC1\u_ex<% return DateTime.Now.ToString("yyMMdd") %>.log'
ORDER BY time DESC

或者在我的简化版本中它将是:

SELECT * FROM 'C:\test\<% return DateTime.Now.ToString("yyMMdd") %>.txt'
--converts to `C:\test0731.txt`