2012-04-11 7 views
1

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

TY

、org.docx4j.convert.out.html.HtmlExporterNG2

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ためのlog4jデバッグレベルのログをオフにしてください。プロパティ

# 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 
+0

は、あなたがこれらのプロパティファイルをクラスパス上にあることを確認していますか? – JasonPlutext

+0

@Jason私はかなり確信しています。正直なところ、私は、ファイルがクラスパス上にあることを確認する方法を100%確信していません。私はsrc/main/resourcesフォルダにファイルを持っています。私がオンラインで読んだところから、srcフォルダのファイルは自動的にクラスパスに含まれます。 – mblPrgr

答えて

2

' docx4jがlog4jをどのように設定するかわからないのですが、代わりにdocx4j.Log4j.Configurator.disabled=truefalseに変更してみてください。

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

+0

提案したソリューションを実装しようとしましたが、問題が解決されませんでした。また、JBoss 7では、PropertyConfigurator.configure()メソッドを使用してlog4jファイルを手動で呼び出す必要があることを説明しました。ソリューションのコンポーネントを見落としたので、それが役立つかどうかをお知らせします。 – mblPrgr

+0

log4j.propertiesにlog4j.logger.org.docx4j.convert.out.html.HtmlExporterNG2 = INFOを追加してみてください。その文法は正しいかもしれませんが、私はそうだと思います。結局、それはあなたのログファイルを詰まらせている場合を除き、おそらく大きな問題ではありません。それは愚かな情報メッセージのように見えます。 –

+0

log4j.logger.org.docx4j.convert.out.html.HtmlExporterNG2 = INFOという行をpropファイルに追加しようとしましたが、違いはありませんでした。しかし、jboss-d-s.xmlファイルからlog4jを除外し、手動でPropertyConfigurator.configure()を呼び出すと、メッセージがクリアされました!あなたにとても感謝します!ところで、問題のメッセージはユーザーに表示されていたため、メッセージを削除せずにアプリを展開することはできませんでした。 – mblPrgr

2

あなたのlog4j.propertiesやlog4j.xmlファイルでDEBUGからOFFへ変更rootCategoryレベル log4j.rootCategory = OFF、SymbolicNameForAppender

1

は私が2.8 docx4j使用して(以下にログ出力を無効にすることができました。 1):

2番目のステートメントがなければ、ログは抑制されませんでした。

+0

Log4jConfiguratorはdocx4jまたはlog4jライブラリの一部ではありません –

1

次のコードを使用:

Docx4jProperties.getProperties().setProperty("docx4j.Log4j.Configurator.disabled", "true"); 
Log4jConfigurator.configure();    
org.docx4j.convert.out.pdf.viaXSLFO.Conversion.log.setLevel(Level.OFF);