Apache Tika 2.4.0配置tika-config.xml后无debug日志如何解决
Apache Tika容器启用Debug日志配置不生效解决方案
你在tika-config.xml中配置的<logLevel>debug</logLevel>参数无法单独生效,该参数仅控制Tika Server服务层的任务调度、请求处理链路的日志开关,不会修改底层日志框架(默认Logback)的全局/包级别日志阈值,日志会在框架层直接被拦截,因此看不到debug级别输出。
可直接生效的配置方案
方案1:启动时传入JVM日志参数(无需修改配置文件,推荐)
启动Tika容器时通过JAVA_OPTS环境变量传入日志级别参数,仅开启Tika相关包的debug日志即可(不建议开全局debug,日志量会暴涨):
docker run -d -p 9998:9998 \ -e JAVA_OPTS="-Dlogging.level.org.apache.tika=DEBUG" \ apache/tika:latest
如果需要开启全链路debug日志,把参数替换为-Droot.log.level=DEBUG即可。
方案2:挂载自定义日志配置文件(灵活定制日志规则)
Tika容器默认读取/etc/tika/logback.xml作为日志配置,可以自定义Logback配置文件后挂载进容器,示例配置:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 配置Tika包下日志级别为DEBUG --> <logger name="org.apache.tika" level="DEBUG" additivity="false"> <appender-ref ref="STDOUT"/> </logger> <root level="INFO"> <appender-ref ref="STDOUT"/> </root> </configuration>
启动容器时挂载该配置文件:
docker run -d -p 9998:9998 \ -v /本地配置文件存放路径/logback.xml:/etc/tika/logback.xml \ apache/tika:latest
补充说明
如果你确实需要使用tika-config.xml中的logLevel参数,必须先保证底层日志框架对应包的日志阈值设置为DEBUG及以下,否则框架层会提前拦截日志,配置不会生效。
内容的提问来源于stack exchange,提问作者Manjunath D
相关产品推荐
相关产品推荐

