spring - 如何在 log4j 中为 docx4j 关闭调试日志记录

标签 spring maven log4j jboss7.x docx4j

当我在 jboss as7 上部署我的 maven/spring 应用程序并尝试上传 docx 文件时,我收到以下消息。当我在应用程序的 WYSIWIG 编辑器中查看时,该消息显示在上传文件的正文中。当我在码头上本地运行应用程序时,不会显示该消息。我包含了 log4j 和 docx4j 属性文件。我不确定哪个属性允许我切换错误中提到的 docx4j 类的调试日志记录,到目前为止,我在网络搜索中一无所获。顺便说一句,我的应用程序没有使用 log4j/docx4j xml 文件,从我读过的内容来看,它是一个或设置。如果我应该切换到 xml,请告诉我,请告诉我需要调整哪个属性,以便我清除此消息。

要隐藏这些消息,请关闭 org.docx4j.convert.out.html.HtmlExporterNG2 的 log4j 调试级别日志记录

log4j.properties

log4j.rootLogger=ERROR,stdout
#Console Appender 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%5p] [%t %d{hh:mm:ss}] (%F:%M:%L) %m%n
#Custom assignments
log4j.logger.Controllers=DEBUG,stdout
log4j.logger.Entities=DEBUG,stdout
log4j.logger.Models=DEBUG,stdout
#Disable additivity
log4j.additivity.Controllers=false
log4j.additivity.Entities=false
log4j.additivity.Models=false

docx4j.properties

# Page size: use a value from org.docx4j.model.structure.PageSizePaper enum
# eg A4, LETTER
docx4j.PageSize=LETTER
# Page size: use a value from org.docx4j.model.structure.MarginsWellKnown enum
docx4j.PageMargins=NORMAL
docx4j.PageOrientationLandscape=false
# Page size: use a value from org.pptx4j.model.SlideSizesWellKnown enum
# eg A4, LETTER
pptx4j.PageSize=LETTER
pptx4j.PageOrientationLandscape=false
# These will be injected into docProps/app.xml
# if App.Write=true
docx4j.App.write=true
docx4j.Application=docx4j
docx4j.AppVersion=2.7
# of the form XX.YYYY where X and Y represent numerical values
# These will be injected into docProps/core.xml
docx4j.dc.write=true
docx4j.dc.creator.value=docx4j
docx4j.dc.lastModifiedBy.value=docx4j
#
#docx4j.McPreprocessor=true
# If you haven't configured log4j yourself
# docx4j will autoconfigure it. Set this to true to disable that
docx4j.Log4j.Configurator.disabled=true

最佳答案

我们在将 docx4j 与 Spring Boot 结合使用时遇到了类似的问题。

由于 spring-boot-starter-logging 自动配置 logback-classic 用作记录器的实现,因此只需为包设置正确的级别。在我们的例子中,我们不需要来自 docx4j 的任何日志记录,因此将以下行添加到 application.properties 会禁用来自“docx4j”的整个输出:

logging.level.org.docx4j=OFF

如果您特别需要禁用文档的控制台打印,那么您需要在该特定文件上设置关闭日志级别:

logging.level.org.docx4j.model.datastorage.migration.VariablePrepare=OFF

编辑:我知道这个主题很旧,但是在使用 spring boot 时针对这个主题的资源非常有限。我希望这对将来的人有所帮助。

关于spring - 如何在 log4j 中为 docx4j 关闭调试日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112055/

相关文章:

hibernate - 如何在多项目 Maven 中配置 Log4j

java - Log4J:如何将 OutputStream 或 Writer 重定向到 logger 的 writer(s)?

java - 在 persistence.xml 中禁用 hibernate jpa 日志

java - Spring AMQP : Send reply from POJO listener failure because of missing reply-to property

java - ExceptionMappingAuthenticationFailureHandler 没有捕获我的异常

javascript - webjar 获取错误

java - JBoss 从 JBoss AS 4.2 GA 迁移到 JBoss EAP 6.2

java - 如何测量 webflux WebClient 方法的执行时间?

java - 如何在同一个 @ControllerAdvice 中处理响应式(Reactive)和 mvc ServerHttpRequest?

java - Spring Boot 2.0.0M3 Spring 执行器