为什么还是没有打印debug呢
时间: 2023-08-16 11:09:44 浏览: 40
如果还是没有输出 debug 日志,可能是因为 `logging` 模块的日志级别没有设置为 `DEBUG`。请尝试添加以下代码,将日志级别设置为 `DEBUG`:
```python
import logging
logging.basicConfig(level=logging.DEBUG)
```
这样可以将日志级别设置为 `DEBUG`,并将日志输出到标准输出(控制台)。如果还是没有输出 debug 日志,可以检查以下几点:
- 确认代码中有执行 SQL 查询的语句
- 确认 PyMySQL 版本在 1.0.2 及以上
- 确认代码中没有禁用 PyMySQL 的日志输出,例如调用了 `logging.disable(logging.CRITICAL)` 等
如果还是无法解决问题,可以考虑尝试使用其他方式来输出 SQL 语句,例如在控制台直接打印 SQL 语句。
相关问题
kernel驱动里用什么函数可以打印debug log
在 Windows 内核开发中,可以使用 `DbgPrint` 函数来打印调试信息。这个函数类似于用户模式下的 `printf` 函数,可以输出调试信息到调试器控制台。使用 `DbgPrint` 函数需要包含 `ntddk.h` 头文件,同时需要连接 `ntoskrnl.lib` 库文件。下面是一个使用 `DbgPrint` 函数的示例代码:
```c
#include <ntddk.h>
// 定义调试输出的前缀字符串
#define TAG "MyDriver: "
// 定义打印调试信息的宏
#define DebugPrint(fmt, ...) \
DbgPrint(TAG fmt "\n", ##__VA_ARGS__)
// 驱动入口函数
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
UNREFERENCED_PARAMETER(RegistryPath);
// 打印调试信息
DebugPrint("Hello, world!");
return STATUS_SUCCESS;
}
```
在上面的代码中,我们定义了一个宏 `DebugPrint`,它接收一个格式化字符串和可变参数列表,并在字符串前面加上前缀字符串 `TAG`,然后调用 `DbgPrint` 函数输出调试信息。在驱动入口函数中调用 `DebugPrint` 宏输出一条调试信息。注意,调试信息只能在调试器连接的情况下才能输出到调试器控制台。如果没有连接调试器,调试信息将不会被输出。
控制台打印debug日志
在大多数编程语言中,可以使用类似于如下的代码来在控制台打印debug日志:
```python
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.debug('This is a debug message')
```
这段代码可以在Python中打印debug级别的日志信息,并且可以通过设置不同的日志级别来控制打印的信息量。在其他编程语言中也有类似的日志库和用法,可以根据具体的语言和框架来选择适合的方法来打印debug日志。