2012-04-11 4 views
1

Je reçois le message suivant lorsque je déploie mon application maven/spring sur jboss as7 et tente de télécharger un fichier docx. Le message est affiché dans le corps du fichier téléchargé lorsque je l'affiche dans l'éditeur WYSIWIG de l'application. Le message ne s'affiche pas lorsque j'exécute l'application localement sur la jetée. J'ai inclus les fichiers de propriétés log4j et docx4j. Je ne suis pas sûr de ce que la propriété me permettrait de basculer la journalisation de débogage pour la classe docx4j mentionnée dans l'erreur et jusqu'ici je suis venu vide sur les recherches sur le Web. BTW, mon application n'utilise pas un fichier xml log4j/docx4j et à partir de ce que j'ai lu c'est un ou configuration. Si je devrais passer à XML, alors s'il vous plaît faites le moi savoir et s'il vous plaît informez-moi de la propriété qui doit être ajustée afin que je puisse effacer ce message.Comment désactiver la déconnexion de débogage, dans log4j, pour docx4j

TY

POUR CACHER LES MESSAGES, COUPEZ L'enregistrement du niveau de débogage log4j pour 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. propriétés

# 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

Etes-vous sûr ces fichiers de propriétés sont sur votre chemin de classe? – JasonPlutext

+0

@Jason Je suis assez certain qu'ils le sont. Honnêtement, je ne suis pas sûr à 100% comment vérifier que les fichiers sont sur le chemin de la classe. J'ai les fichiers dans mon dossier src/main/resources. D'après ce que je lis en ligne, les fichiers du dossier src sont automatiquement inclus dans le classpath. – mblPrgr

Répondre

2

I ' Je ne sais pas comment docx4j configure log4j, mais vous pouvez essayer de changer le docx4j.Log4j.Configurator.disabled=true en false à la place.

Si cela ne fonctionne pas, vous pouvez essayer d'exclure l'implémentation log4j des serveurs. Vous pouvez ajouter un jboss-deployment-structure.xml à excludes log4j.

+0

J'ai tenté d'implémenter la solution que vous avez suggérée, mais cela n'a pas résolu le problème. Le lien que vous avez inclus mentionne également que JBoss 7 requiert que le fichier log4j soit appelé manuellement à l'aide de la méthode PropertyConfigurator.configure(). J'ai négligé cette composante de la solution, je vais donc vous dire si cela aide ou non. – mblPrgr

+0

Essayez peut-être d'ajouter log4j.logger.org.docx4j.convert.out.html.HtmlExporterNG2 = INFO à votre fichier log4j.properties. Cette syntaxe pourrait être juste, mais je pense que c'est. En fin de compte, ce n'est probablement pas une grosse affaire, à moins de boucher votre fichier journal. Cela ressemble à un message d'information idiot. –

+0

J'ai essayé d'ajouter la ligne log4j.logger.org.docx4j.convert.out.html.HtmlExporterNG2 = INFO au fichier prop, mais cela n'a pas fait de différence. Cependant, en excluant log4j du fichier jboss-d-s.xml, puis en appelant manuellement PropertyConfigurator.configure(), le message a été effacé! Merci beaucoup à vous! BTW, le message en question était visible à l'utilisateur, donc je ne pouvais pas déployer l'application sans supprimer le message. – mblPrgr

2

changer le niveau rootCategory de DEBUG à OFF dans votre log4j.properties ou fichier log4j.xml log4j.rootCategory = OFF, SymbolicNameForAppender

1

j'ai pu désactiver la sortie de l'enregistrement avec les éléments suivants (en utilisant docx4j 2.8. 1):

Docx4jProperties.getProperties().setProperty(
    "docx4j.Log4j.Configurator.disabled", "true"); 
Log4jConfigurator.configure(); 

Notez que sans la deuxième déclaration, l'enregistrement n'a pas été supprimée.

+0

Log4jConfigurator ne fait pas partie de la bibliothèque docx4j ou log4j –

1

Utilisez le code suivant:

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