配置 OLE DB 日志
以下参数控制 OLE DB 客户端驱动程序如何记录客户端和服务器之间的消息。要设置它们,请编辑 Windows 注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\OLEDB\Driver
下的密钥:
-
LogLevel:在客户端和服务器之间记录的消息的严重性。有效值包括:
-
0:无日志记录
-
1:严重错误
-
2:错误
-
3:警告
-
4:信息
-
5:调试
-
6:跟踪(所有消息)
为此设置指定的值设置了要记录的消息的最低严重性。例如,如果将 LogLevel 设置为 3,则表示客户端驱动程序将记录所有警告、错误和严重错误。
-
-
LogPath:用于存储日志文件的目录的绝对路径。例如:
/var/log/verticaoledb
将 OLE DB 日志条目转移到 ETW
在 Windows 客户端上,您可以指示 Vertica 将 OLE DB 日志条目发送到 Windows 事件跟踪 (ETW)。设置后,OLE DB 日志条目将出现在 Windows 事件查看器中。要使用 ETW:
-
将驱动程序注册为 Windows 事件日志提供程序,并启用日志。
-
通过将字符串值添加到 Windows 注册表来激活 ETW。
-
了解 Vertica 如何压缩 Windows 事件查看器的日志级别。
-
了解在事件查看器中的何处可以找到日志。
-
了解日志条目中事件 ID 的含义。
将 OLE DB 驱动程序注册为 Windows 事件日志提供程序
要使用 ETW 日志记录,您必须将 OLE DB 驱动程序注册为 Windows 事件日志提供程序。您可以选择注册 32 位或 64 位驱动程序。注册驱动程序后,您必须启用日志。
重要
如果您既未注册驱动程序也未启用日志,则输出将定向到 stdout。-
以管理员身份打开命令提示符窗口,或使用“以管理员身份运行 (Run as Administrator)”选项启动命令提示符。
重要
您必须具有管理员权限才能成功完成下一步。 -
运行命令
wevtutil im
以注册 32 位或 64 位版本的驱动程序。-
对于 64 位 OLE DB 驱动程序,运行:
wevtutil im "c:\Program Files\Vertica Systems\OLEDB64\lib\VerticaOLEDB64.man" /resourceFilePath:"c:\Program Files\Vertica Systems\OLEDB64\lib\vertica_8.1_oledb.dll" /messageFilePath:"c:\Program Files\Vertica Systems\OLEDB64\lib\vertica_8.1_oledb.dll"
-
对于 32 位 OLE DB 驱动程序,运行:
wevtutil im "c:\Program Files (x86)\Vertica Systems\OLEDB32\lib\VerticaOLEDB32.man" /resourceFilePath:"c:\Program Files (x86)\Vertica Systems\OLEDB32\lib\vertica_8.1_oledb.dll" /messageFilePath:"c:\Program Files (x86)\Vertica Systems\OLEDB32\lib\vertica_8.1_oledb.dll"
-
-
运行命令
wevtutil sl
以启用日志。-
对于 64 位 OLE DB 驱动程序日志,运行:
wevtutil sl VerticaOLEDB64/e:true
-
对于 32 位 ODBC 驱动程序日志,运行:
wevtutil sl VerticaOLEDB32/e:true
注意
如果您想稍后禁用日志,则可以使用相同的wevtutil sl
命令,在发出语句时用/e:false
代替/e:true
。或者,您可以在 Windows 事件查看器本身中启用或禁用日志。 -
添加字符串值 LogType
默认情况下,Vertica 不会将 OLE DB 日志条目发送到 ETW。要激活 ETW,请将字符串 LogType
添加到 Windows 注册表,并将其值设置为 ETW
。
-
通过在 Windows“运行 (Run)”命令框中键入
regedit.exe
来启动注册表编辑器。 -
在注册表中,导航到:
HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\OLEDB\Driver
。 -
在注册表编辑器 (Registry Editor) 窗口的右窗格中右键单击。
-
选择新建 (New),然后选择字符串值 (String Value)。
-
将字符串值的名称从
New Value #1
更改为LogType
。 -
双击新的
LogType
条目。当系统提示输入新值时,输入ETW
。 -
退出注册表编辑器。
默认情况下,ETW 设置为 off。激活 ETW 后,您可以稍后通过从 LogType 字符串中清除值 ETW 将其关闭。
虽然 LogLevel 的范围从 0 到 6,但对于 Windows 事件查看器,此范围被压缩到 0 到 3 的范围。
以下示例显示了在 Windows 事件查看器中显示时如何转换 LogLevel。
-
LogLevel 为 5 将致命错误、错误、警告、信息和调试日志级别条目作为级别 4(信息)发送到事件查看器。
-
LogLevel 为 6 将致命错误、错误、警告、调试和跟踪日志级别条目作为级别 4 发送到事件查看器。
在事件查看器中查找日志
-
启动 Windows 事件查看器。
-
从事件查看器(本地) (Event Viewer (Local)),展开应用程序和服务日志 (Applications and Services Logs)。
-
展开包含您要查看的日志的文件夹(例如
VerticaOLEDB64
)。 -
选择文件夹下的 Vertica ODBC 日志。条目出现在右窗格中。
-
请注意事件 ID (Event ID) 字段中的值。每个事件日志条目包含四个事件 ID 之一:
-
0:信息性(调试、信息和跟踪事件)
-
1:错误
-
2:严重事件
-
3:警告
-