gene b.
gene b.

Reputation: 11974

Show Log4J2 Output in Eclipse Console

I've been unable to configure my Web app project to show LOG4J2 output in the Eclipse Console. It goes to some tomcat log location.

Tried all the threads and nothing helped.

First, suppose the LOG4J2.XML is originally here: ./appconfig/dev/log4j2.xml

enter image description here

I followed an example and added this folder as a Library under Class Path, but that didn't work.

enter image description here

Then I tried this example with a -D param for the config file,

enter image description here

Also tried adding it to the location which DeploymentAssembly will move to WEB-INF/classes,

enter image description here

Nothing helped, I'm not getting my Eclipse Console output for this app for log.info / log.error, except for Hibernate-only output.

LOG4J2.XML:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
        </Console>

        <RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
                     filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
            <PatternLayout>
                <Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Logger name="gov" level="debug" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.springframework.orm" level="info" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.hibernate.sql" level="info" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.springframework.web" level="debug" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.hibernate.type" level="info" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="net.sf.ehcache" level="trace" additivity="false">
            <AppenderRef ref="file"/>
        </Logger>

        <Root level="info">
            <AppenderRef ref="console"/>
            <AppenderRef ref="file"/>
        </Root>
    </Loggers>
</Configuration>

Upvotes: 2

Views: 2360

Answers (1)

gene b.
gene b.

Reputation: 11974

We figured it out. We had to remove additivity="false" from the Log4J2.xml.

Thus, the file is without additivity=false

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n"/>
        </Console>

        <RollingFile name="file" fileName="/local/content/tomcat/idp/logs/idp.log" append="true"
                     filePattern="/local/content/tomcat/idp/logs/idp.log.%i">
            <PatternLayout>
                <Pattern>%d{DATE} [%X{sessionId}] %X{userId} %-5p %c{1}(Line %L) - %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Logger name="gov" level="debug">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.springframework.orm" level="info">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.hibernate.sql" level="info">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.springframework.web" level="debug">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="org.hibernate.type" level="info">
            <AppenderRef ref="file"/>
        </Logger>

        <Logger name="net.sf.ehcache" level="trace">
            <AppenderRef ref="file"/>
        </Logger>

        <Root level="info">
            <AppenderRef ref="console"/>
            <AppenderRef ref="file"/>
        </Root>
    </Loggers>
</Configuration>

Upvotes: 1

Related Questions