C#:如何忽略来自 Tesseract 的日志?
C#: How to ignore logs from Tesseract?
我在 Docker Linux 图像上有一个 API 运行,它使用 Tesseract wrapper 从图像中读取文本。每次 Tesseract 处理图像时,它都会记录大量警告并进行通信:
| Estimating resolution as 682
| Empty page!!
| Estimating resolution as 682
| Empty page!!
| Warning: Invalid resolution 0 dpi. Using 70 instead.
| Estimating resolution as 1408
一个请求最多调用 Tesseract 50 次,这导致日志非常混乱。要记录我需要的信息,我使用 Microsoft.Extensions.Logging。我尝试在 appsettings.json 中禁用来自 Tesseract 的日志记录,如下所示:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"Tesseract": "Error"
}
},
以及设置 "Tesseract": "None" 但 none 有帮助。我也尝试在 Tesseract 的文档中查找它,但没有找到任何东西。有什么方法可以仅禁用来自 Tesseract 的日志吗?
好的,我找到了一些解决方法。初始化 Tesseract 引擎实例后,删除
| Warning: Invalid resolution 0 dpi. Using 70 instead.
我需要为引擎手动设置 DPI:
_tesseractEngine.SetVariable("user_defined_dpi", "300");
并删除“空页!!”需要为 NUL
、
设置 debug_file
_tesseractEngine.SetVariable("debug_file", "NUL");
或DefaultPageSegMode
需要正确设置
_tesseractEngine.DefaultPageSegMode = PageSegMode.SingleBlock;
我在 Docker Linux 图像上有一个 API 运行,它使用 Tesseract wrapper 从图像中读取文本。每次 Tesseract 处理图像时,它都会记录大量警告并进行通信:
| Estimating resolution as 682
| Empty page!!
| Estimating resolution as 682
| Empty page!!
| Warning: Invalid resolution 0 dpi. Using 70 instead.
| Estimating resolution as 1408
一个请求最多调用 Tesseract 50 次,这导致日志非常混乱。要记录我需要的信息,我使用 Microsoft.Extensions.Logging。我尝试在 appsettings.json 中禁用来自 Tesseract 的日志记录,如下所示:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"Tesseract": "Error"
}
},
以及设置 "Tesseract": "None" 但 none 有帮助。我也尝试在 Tesseract 的文档中查找它,但没有找到任何东西。有什么方法可以仅禁用来自 Tesseract 的日志吗?
好的,我找到了一些解决方法。初始化 Tesseract 引擎实例后,删除
| Warning: Invalid resolution 0 dpi. Using 70 instead.
我需要为引擎手动设置 DPI:
_tesseractEngine.SetVariable("user_defined_dpi", "300");
并删除“空页!!”需要为 NUL
、
debug_file
_tesseractEngine.SetVariable("debug_file", "NUL");
或DefaultPageSegMode
需要正确设置
_tesseractEngine.DefaultPageSegMode = PageSegMode.SingleBlock;