Prabhat Kashyap
Prabhat Kashyap

Reputation: 139

Unable to write logs in file using log4j2

Hello I want to show the logs on console and write logs in file as well. Console logs are working but I'm unable to write logs in file. I m using Log4J2 and my Log4j2.xml is as follow:

<?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">

      <Properties>
        <Property name="filename">target/test.log</Property>
      </Properties>

      <Appenders>

        <File name="File" fileName="${filename}">
          <PatternLayout>
            <pattern>%d %p %C{1.} [%t] %m%n</pattern>
          </PatternLayout>
        </File>

        <Console name="Console" target="SYSTEM_OUT">
          <PatternLayout pattern="%highlight{[%-5level]} [%t] [%d{HH:mm:ss.SSS}] [%logger{36}.%M]- %msg%n"/>
        </Console>

      </Appenders>


      <Loggers>
        <Logger name="org.apache.logging.log4j.test2" level="debug" additivity="false">
          <Property name="user">${sys:user.name}</Property>
          <AppenderRef ref="File">
          </AppenderRef>
        </Logger>
        <Root level="debug">
          <AppenderRef ref="Console"/>
        </Root>
      </Loggers>

    </Configuration>

Upvotes: 0

Views: 641

Answers (1)

sazzad
sazzad

Reputation: 6267

If you want all of your logs to be written on both console and file, refer both appenders to Root logger.

<Loggers>
    <Root level="debug">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
    </Root>
</Loggers>

Upvotes: 1

Related Questions