配置 ODBC 日志
以下参数控制 ODBC 客户端驱动程序是否以及如何记录客户端和服务器之间的消息。
设置这些参数的方式因操作系统不同而异:
-
在 Linux 和 macOS 上,编辑您在安装期间创建的
vertica.ini
。例如,要将所有警告和更严重的消息记录到/tmp/
中的日志文件:[Driver] LogLevel=4 LogPath=/tmp
-
在 Windows 上的 Windows 注册表中,编辑
HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\ODBC\Driver
下面的键。
参数
-
LogLevel:在客户端和服务器之间记录的消息的严重性。有效值包括:
-
0:无日志记录
-
1:严重错误
-
2:错误
-
3:警告
-
4:信息
-
5:Debug
-
6:跟踪(所有消息)
为此设置指定的值设置了要记录的消息的最低严重性。例如,如果将 LogLevel 设置为 3,则表示客户端驱动程序将记录所有警告、错误和严重错误。
-
-
LogPath:用于存储日志文件的目录的绝对路径。例如:
/var/log/verticaodbc
将日志条目转移到 ETW (Windows)
在 Windows 客户端上,可以将 ODBC 日志条目发送到 Windows 事件跟踪 (ETW),以便它们显示在 Windows 事件查看器中:
-
将驱动程序注册为 Windows 事件日志提供程序,并启用日志。
-
通过将带有数据 ETW 的字符串值 LogType 添加到 Windows 注册表来激活 ETW。
-
了解 Vertica 如何压缩 Windows 事件查看器的日志级别。
-
了解在事件查看器中的何处可以找到日志。
-
了解日志条目中事件 ID 的含义。
将 ODBC 驱动程序注册为 Windows 事件日志提供程序
要使用 ETW 日志记录,必须将 ODBC 驱动程序注册为 Windows 事件日志提供程序。您可以选择注册 32 位或 64 位驱动程序。注册驱动程序后,必须启用日志。
重要
如果您既未注册驱动程序也未启用日志,则输出将定向到 stdout。-
以管理员身份打开命令提示符窗口,或使用“以管理员身份运行 (Run as Administrator)”选项启动命令提示符。
重要
您必须具有管理员权限才能成功完成下一步。 -
运行命令
wevtutil im
以注册 32 位或 64 位版本的驱动程序。-
对于 64 位 ODBC 驱动程序,运行:
wevtutil im "c:\Program Files\Vertica Systems\ODBC64\lib\VerticaODBC64.man" /resourceFilePath:"c:\Program Files\Vertica Systems\ODBC64\lib\vertica_9.1_odbc_3.5.dll" /messageFilePath:"c:\Program Files\Vertica Systems\ODBC64\lib\vertica_9.1_odbc_3.5.dll"
-
对于 32 位 ODBC 驱动程序,运行:
wevtutil im "c:\Program Files (x86)\Vertica Systems\ODBC32\lib\VerticaODBC32.man" /resourceFilePath:"c:\Program Files (x86)\Vertica Systems\ODBC32\lib\vertica_9.1_odbc_3.5.dll" /messageFilePath:"c:\Program Files (x86)\Vertica Systems\ODBC32\lib\vertica_9.1_odbc_3.5.dll"
-
-
运行命令
wevtutil sl
以启用日志。-
对于 64 位 ODBC 驱动程序日志,运行:
wevtutil sl VerticaODBC64/e:true
-
对于 32 位 ODBC 驱动程序日志,运行:
wevtutil sl VerticaODBC32/e:true
注意
如果您想稍后禁用日志,则可以使用相同的wevtutil sl
命令,在发出语句时用/e:false
代替/e:true
。或者,您可以在 Windows 事件查看器本身中启用或禁用日志。 -
添加字符串值 LogType
默认情况下,Vertica 不会将 ODBC 日志条目发送到 ETW。要激活 ETW,请将字符串 LogType
添加到 Windows 注册表,并将其值设置为 ETW
。
-
通过在 Windows“运行 (Run)”命令框中键入
regedit.exe
来启动注册表编辑器。 -
导航到注册表中的
HKEY_LOCAL_MACHINE\SOFTWARE\Vertica\ODBC\Driver
。 -
在注册表编辑器 (Registry Editor) 窗口的右窗格中右键单击。
-
选择新建 (New),然后选择字符串值 (String Value)。
-
将字符串值的名称从
New Value #1
更改为LogType
。 -
双击新的
LogType
条目。当系统提示输入新值时,输入ETW
。 -
退出注册表编辑器。
默认情况下,禁用 ETW。启用 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)。
-
展开包含您要查看的日志的文件夹(例如
VerticaODBC64
)。 -
选择文件夹下的 Vertica ODBC 日志。条目出现在右窗格中。
-
请注意事件 ID (Event ID) 字段中的值。每个事件日志条目包含四个事件 ID 之一:
-
0:信息性(调试、信息和跟踪事件)
-
1:错误
-
2:严重事件
-
3:警告
-