Pergunta

esta questão . Parece que Glassfish está exportando slf4j em minha aplicação e substituindo a minha solução de log. É possível para mim para substituir o registo do Glassfish e ter minha própria solução de log têm precedência? Após pesquisa, eu só encontrei maneiras de modificar o registro usando logging.properties.

Não estou casado com a minha implementação atual, mas eu estou interessado em fazê-lo funcionar.

obrigado.

Foi útil?

Solução

Como sugerido na a outra resposta , tentar configurar GlassFish para usar em primeiro lugar as crianças classloaders antes de delegado. No sun-web.xml:

<sun-web-app>
  <class-loader delegate="false"/>
</sun-web-app>

Mas se isso funciona, isso é mais uma solução que uma solução real , a sua aplicação não deve ser poluído pelas ligações slf4j de feijão-validation.jar e solda-osgi-bundle.jar (pelo menos I acredito que sim). Você deve talvez levantar um questão .

Update: Para os arquivos, a solução sugerida não funciona. Mas eu não poderia reproduzir o problema .

Outras dicas

A resposta curta é, Glassfish faz alguns ajustes logger desagradável, redirecionando System.out e System.err para seu próprio log. Eu não conseguiram pará-lo fazê-lo, mas eu achei uma maneira de coletar todas as mensagens de log do aplicativo de servidor e em um log slf4j única, colocando as libs slf4j suficientemente cedo no classpath e editando as logging.properties de Glassfish.

Para a resposta longa, consulte este post .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top