Application Server

Bysutradi

Configurar Logging Profile no JBoss EAP 6.1

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 a configuraçã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>

Para projetos JAR/EJB

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<version>2.4</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.

Bysutradi

JUDCon2013: Brazil – JBoss AS (WildFly) na veia

Neste mês de Abril, dias 19 e 20, estive presente na JUDCon2013:Brazil, primeiro evento da Red Hat na América Latina sobre tecnologias da JBoss.

O primeiro dia distribuía palestras em 5 auditórios, o que acabou sendo um pouco frustante por não conseguir participar de algunas palestras interessantes.

Procurei participar de palestras mais práticas para melhor absorção de informações, já que minha intenção era assimilar maiores detalhes sobre o JBoss AS. Com isso, duas palestras foram fundamentais:

– Clustering for High Availability (HA) with JBoss AS 7 (Sergio Fantin);
– AS7, Domain Models, Cloud and how can I be on-demand? (Samuel Tauil, Bruno Rossetto Machado )

JUDCon_HA

O Sergio Fantin apresentou rapidamente alguns conceitos sobre JBoss AS, como sua execução em modo Standalone (único profile) ou Domain. Sua Demo continua 2 VMs com HTTP executando em mod_cluster. Me chamou a atenção a simplicidade da interface do console de administração do JBoss e a rapidez com que os profiles são parados/iniciados.

A palestra do Samuel/Bruno acabou complementando a palestra do Sergio. Apesar do título da paletra mencionar cloud, pouco falaram a respeito. Porém, deram mais detalhes técnicos sobre o JBoss. Detalhes sobre os profiles disponíveis:

– default

Subsistemas comumente carregados: logging, configadmin, datasources, ee, ejb3, infinispan, mail, jaxrs, jca, jdr, jmx, jpa, mail, naming, osji, pojo, remoting, resource-adapters, sar, security, threads, transactions, web, webservices and weld;

– ha (Alta disponibilidade)

default + jgroups e modcluster

– full

default + messaging (HornetQ), cmp, jacorb, jaxr, jsr77

– full-ha

full + jgroups e modcluster

Falaram sobre Server Groups (diferente de cluster), configuração de Domais (com Domain Controller : master/slave) e apresentaram uma topologia continua em cliente brasileiro (não mencionaram). Vejam a imagem.

JUDCon_AS-ArchitectureExample
E qual a diferença entre o JBoss AS 7 e o JBoss EAP 6? Tecnicamente, nenhuma. A questão é sobre a subscrição da Red Hat, onde no EAP ela garante suporte e atualizações. Inclusive, comentaram que ele já viu cliente usando o JBoss AS 7 em Produção (com ambiente estável).

Estas duas palestras foram excelentes.