首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何禁用Tess4j中的登录功能?

如何禁用Tess4j中的登录功能?
EN

Stack Overflow用户
提问于 2020-05-06 00:00:16
回答 1查看 918关注 0票数 0

我对使用Tess4J库很陌生。我已经将Tess4j作为一个依赖项包含在Maven中如下所示:

代码语言:javascript
运行
复制
    <dependency>
        <groupId>net.sourceforge.tess4j</groupId>
        <artifactId>tess4j</artifactId>
        <version>4.5.1</version>
    </dependency>

到目前为止,它已经发挥了很大的作用,但我不知道如何禁用日志。看起来,日志来自PDFBox和Fontbox,它们是Tess4j的依赖项。下面是在这里记录的一些内容:

代码语言:javascript
运行
复制
19:54:46.712 [main] DEBUG org.apache.fontbox.util.autodetect.FontFileFinder - checkFontfile found C:\WINDOWS\FONTS\YuGothR.ttc
19:54:46.757 [main] DEBUG org.apache.pdfbox.pdmodel.font.FileSystemFontProvider - Loaded Arial-BoldMT from C:\WINDOWS\FONTS\arialbd.ttf
19:54:46.860 [main] DEBUG org.apache.pdfbox.pdmodel.font.FileSystemFontProvider - Loaded Arial-BoldItalicMT from C:\WINDOWS\FONTS\arialbi.ttf
19:54:46.899 [main] DEBUG org.apache.pdfbox.pdmodel.font.FileSystemFontProvider - Loaded ArialMT from C:\WINDOWS\FONTS\arial.ttf
19:54:46.955 [main] DEBUG org.apache.pdfbox.pdmodel.font.FileSystemFontProvider - Loaded Arial-ItalicMT from C:\WINDOWS\FONTS\ariali.ttf
19:54:47.477 [Finalizer] DEBUG org.apache.pdfbox.io.ScratchFileBuffer - ScratchFileBuffer not closed!

我尝试在调用doOCR的代码之前设置loging级别,但它似乎仍在记录这些信息。下面是我的代码片段:

代码语言:javascript
运行
复制
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Logger;
import net.sourceforge.tess4j.*;

public static void main(String[] args) throws TesseractException, FileNotFoundException, IOException { 
    Tesseract tesseract = getTesseract("C:\\Program Files\\Tesseract-OCR\\tessdata");

    // My attempts to disable logging
    Logger.getLogger("org.apache.fontbox").setLevel(java.util.logging.Level.OFF);
    Logger.getLogger("org.apache.pdfbox").setLevel(java.util.logging.Level.OFF);

    // Example 1
    File file = new File("test.pdf");
    String result = tesseract.doOCR(file);
    System.out.println(result);
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 09:32:17

tess4j依赖关系包括logback。

因此,我假设日志是由logback生成的,而不是由标准java日志记录(java.util.logging包)生成的。

这意味着您应该使用配置logback来禁用不必要的日志记录。

在maven项目中,创建一个内容类似于以下内容的文件src/main/resources/logback.xml就足够了:

代码语言:javascript
运行
复制
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <logger name="org.apache.fontbox" level="ERROR"/>
  <logger name="org.apache.pdfbox" level="ERROR"/>

  <root level="INFO">
    <appender-ref ref="STDOUT" />
  </root>

</configuration>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61625079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档