Create new logger in Wildfly 10 using log4j

0

I need to log certain modules in an app in a log different from server.log , initially I try to do it with a java project and its log4j2.xml file which works very well on another application server other than wildfly as weblogic.

Reading and searching in google I found that you have to create the logger in the subsystem "logging: 3.0" . Even though I do it as I see in the forums, it still does not work for me ..

The profile my wildfly uses is "standalone-full.xml"
and the xml code is the following:

<subsystem xmlns="urn:jboss:domain:logging:3.0">
        <periodic-rotating-file-handler name="PRUEBA_TRACE">
            <formatter>
                <named-formatter name="PATTERN-PRUEBA"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="PRUEBA/TRACE/trace.log"/>
            <suffix value=".yyyy-MM-dd"/>
        </periodic-rotating-file-handler>


        <console-handler name="CONSOLE">
            <level name="INFO"/>
            <formatter>
                <named-formatter name="COLOR-PATTERN"/>
            </formatter>
        </console-handler>
        <periodic-rotating-file-handler name="FILE" autoflush="true" use-parent-handlers="false">
            <formatter>
                <named-formatter name="PATTERN"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="server.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>

        <!--LOGGER-->
        <logger category="co.com.powersoft.learningenglish" use-parent-handlers="false">
            <level name="INFO"/>
            <handlers>
                <handler name="PRUEBA_TRACE"/>
            </handlers>
        </logger>

        <logger category="com.arjuna">
            <level name="WARN"/>
        </logger>
        <logger category="org.jboss.as.config">
            <level name="DEBUG"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>

        <!--FORMATTER-->
        <formatter name="PATTERN">
            <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
        </formatter>
        <formatter name="COLOR-PATTERN">
            <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
        </formatter>

        <formatter name="PATTERN-PRUEBA">
            <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %s%e%n"/>
        </formatter>

    </subsystem>

Does anyone know where the error is?
I hope you can help me, Thank you very much.

    
asked by Leonardo Solano 01.08.2017 в 16:16
source

2 answers

1

I am using EAP 7.0 and I have the following configuration of log4j:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC
  "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

<!-- Configuración de log4j -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%d{dd-MM-yyyy HH:mm:ss,SSS}; [%t]; %-5p; %c; %x - %m%n" />
    </layout>
</appender>

<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="./target/pagos-logger.log" />
    <param name="Append" value="true" />
    <param name="DatePattern" value=".yyyy-MM-dd" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
            value="%d{dd-MM-yyyy HH:mm:ss,SSS}; [%t]; %-5p; %c; %x - %m%n" />
    </layout>
</appender>

<logger name="javax.enterprise.resource.webcontainer.jsf">
    <level value="error" />
</logger>

<logger name="org.wpattern.frameworks">
    <level value="debug" />
</logger>


<logger name="org.hibernate">
    <level value="debug" />
</logger>

<logger name="org.jboss">
    <level value="debug" />
</logger>

<root>
    <priority value="all" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
</root>
</log4j:configuration>
    
answered by 01.08.2017 в 17:21
0

Although the question is old, I can say that using log4j in a Java application works very well in wildfly 10 .. there is no need to create a new logging in the subsystem of logs.

In my project in the resources folder I put a log4j2.xml file with this content:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
    <Properties>
        <Property name="log-path">/home/wildfly/wildfly_logs</Property>
    </Properties>
    <Appenders>
        <RollingFile name="RollingFile" fileName="${log-path}/correspondencia-service.log"
                     filePattern="${log-path}/service-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="4"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="root" level="debug" additivity="false">
            <appender-ref ref="RollingFile" level="debug"/>
        </Logger>
        <Root level="debug" additivity="false">
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
</Configuration>
    
answered by 22.05.2018 в 22:13