2

maven /springアプリケーションをjbossas7にデプロイし、docxファイルをアップロードしようとすると、次のメッセージが表示されます。アプリのWYSIWIGエディターで表示すると、アップロードされたファイルの本文にメッセージが表示されます。桟橋でローカルにアプリを実行すると、メッセージが表示されません。log4jおよびdocx4jプロパティファイルを含めました。エラーに記載されているdocx4jクラスのデバッグログを切り替えることができるプロパティがわからないため、これまでのところWeb検索で空になっています。ところで、私のアプリはlog4j / docx4j xmlファイルを使用しておらず、私が読んだものから、それはどちらかまたはセットアップです。xmlに切り替える必要がある場合は、このメッセージをクリアできるように、どのプロパティを調整する必要があるかをお知らせください。

TY

これらのメッセージを非表示にするには、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
4

6 に答える 6

3

docx4jSpring 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

編集: このトピックが古いことは知っていますが、スプリング ブートの使用中にこのトピックを対象とするソースは非常に限られています。これが将来誰かに役立つことを願っています。

于 2019-05-28T11:44:00.467 に答える
2

log4j.properties または log4j.xml ファイルで rootCategory レベルを DEBUG から OFF に変更します log4j.rootCategory=OFF, SymbolicNameForAppender

于 2012-07-25T16:20:29.297 に答える
2

docx4j が log4j をどのように構成するかはわかりませんが、代わりにdocx4j.Log4j.Configurator.disabled=trueto を変更してみてください。false

それでもうまくいかない場合は、サーバーの log4j 実装を除外してみてください。log4jjboss-deployment-structure.xmlを除外するa を追加できます。

于 2012-04-12T01:36:21.340 に答える
1

次のコードを使用します。

Docx4jProperties.getProperties().setProperty("docx4j.Log4j.Configurator.disabled", "true");
Log4jConfigurator.configure();            
org.docx4j.convert.out.pdf.viaXSLFO.Conversion.log.setLevel(Level.OFF);
于 2014-01-13T12:22:07.793 に答える
1

これを使って:

LogManager.getLogger("org.docx4j").setLevel(Level.OFF);
于 2021-01-28T12:29:08.320 に答える