Version 2

    O JBoss EAP 6.1 contém um recurso chamado Logging Profile, que permite que as aplicações possam usar um profile de Log definido no servidor.

    Porém, a documentação da Red Hat para o EAP apresenta somente aconfiguração necessária para usar o Logging Profile em standalone.

    Se for usar seu EAP 6.1 em modo Domain, a configuração muda “ligeiramente” do que está na documentação da Red Hat.

    Vou apresentar abaixo o que você precisa fazer.

    1. Inicie seu JBoss em modo Domain.

    2. Em uma outra janela  do seu terminal (ou CMD), execute o script jboss-cli.

    ./jboss-cli.sh -c

    3. Execute os comandos abaixo para criar um Logging Profile, um Logging Handler.

     

    /profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/:add
    /profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/file-handler=MY_LOGGING_PROFILE_HANDLER:add(file={path=>"MY-LOG-FILE.log", "relative-to"=>"jboss.server.log.dir"})
    /profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/file-handler=MY_LOGGING_PROFILE_HANDLER:change-log-level(level="DEBUG")
    /profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/logger=com.mycompany.myapp:add(level=TRACE)
    /profile=full-ha/subsystem=logging/logging-profile=MY_LOGGING_PROFILE/logger=com.mycompany.myapp:assign-handler(name="MY_LOGGING_PROFILE_HANDLER")
    


    A diferença para a configuração na Red Hat é a definição do profile no início de cada comando.

    Estes comandos alteram o arquivo domain.xml adicionando o trecho de código abaixo no profile “full-ha“.

    <logging-profiles>

       <logging-profile name="MY_LOGGING_PROFILE">

            <file-handler name="MY_LOGGING_PROFILE_HANDLER">

                <level name="DEBUG"/>

                <file relative-to="jboss.server.log.dir" path="MY-LOG-FILE.log"/>

            </file-handler>

            <logger category="com.mycompany.myapp">

                <level name="TRACE"/>

                <handlers>

                    <handler name="MY_LOGGING_PROFILE_HANDLER"/>

                </handlers>

            </logger>

        </logging-profile>

    </logging-profiles>

    4. Configure seu pom.xml para adicionar o nome do Logging Profile no MANIFEST.MF.

    Para projetos WAR

     

    <plugin>
     <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
            <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
            <archive>
            <manifestEntries>
          <Logging-Profile>MY_LOGGING_PROFILE</Logging-Profile>
        </manifestEntries>
        </archive>
        </configuration>
    </plugin>
    
    

     

    Estas configurações foram validadas em projetos WAR com JSF e projetos EJB 3, implantados no EAP 6.1 em uma configuração MASTER com 1 SERVER GROUP com 1 SERVER.

    Momendo #ficadica

    Aqui #ficadica para alguém da Red Hat fazer a adição em sua documentação do EAP para que outros profissionais possam otimizar suas configurações ao ler as documentações do produto.

    Momento #naogostei

    Agora que as configurações foram feitas e foram validadas tecnicamente em projetos, vou colocar aqui o que acabou me deixando um pouco frustrado com Red Hat / JBoss.

    Me frustrou bastante o fato que a documentação do EAP (pelo menos para este item) apresentar somente configurações com foco no modo Standalone.

    Outro ponto que achei ruim foi o fato que, os códigos de erro que os comandos me apresentaram durante esta aprendizagem, não foram encontrados em mecanismos de busca, aumentando o tempo necessário para encontrar uma solução.