How can I avoid Log4j using any test configuration when I am running
my application in Eclipse IDE?

my-api/src/test/resources/log4j2-test.xml
my-application/src/test/resources/log4j2-test.xml
my-application/src/main/resources/log4j2.xml

I am not running tests, but my main application, thus I do not want
log4j to use the test configuration in either my application or the
API.
I wonder if this is more an eclipse issue rather than a log4j issue.

I also have a Logging ConfigurationFactory implementation (with
similar configuration as in log4j2.xml), which I could use from
eclipse iDE to avoid it having to scan for a configuration file and
then choosing a test configuration.

/Sverre

2017-11-24 23:08 GMT+01:00 Sverre Moe <sverre....@gmail.com>:
> I am running the application in Eclipse. Perhaps it adds the test classpath,
> even though I am not running a test application.
> Does a programmatic configuration override log4j2-test configuration or any
> other file configuration? Because using my own ConfigurationFactory works
> and it doens't use the file configuration, in either src/main/resources or
> src/test/resources.
>
> 2017-11-24 19:04 GMT+01:00 Matt Sicker <boa...@gmail.com>:
>>
>> Are you running your application using your main classpath or your test
>> classpath? It's a feature of log4j2 to use the test config first based on
>> typical classpath usage scenarios. If there's no way for you to run your
>> application without the test classpath, then you can set the config file
>> system property (log4j.configurationFile) to manually specify the path to
>> the file.
>>
>> On 23 November 2017 at 02:08, Sverre Moe <sverre....@gmail.com> wrote:
>>
>> > Running my main application in Eclipse it is using the log4j2-test.xml
>> > configuration, and not the log4j2.xml configuration.
>> >
>> > src/main/resources/log4j2.xml
>> > src/test/resources/log4j2-test.xml
>> >
>> > I am not running a test application under src/test, but my main
>> > application
>> > under src/main/
>> > target/classes/log4j2.xml
>> > target/test-classes/log4j2-test.xml
>> >
>> > How do I avoid it using the log4j2-test.xml when running from Eclipse?
>> >
>> > With a programmatic configuration it does not pick the log4j2-text.xml.
>> >
>> > *My XML configuration:*
>> > <?xml version="1.0" encoding="UTF-8"?>
>> >
>> > <!-- Don't forget to set system property
>> > -DLog4jContextSelector=org.apache.logging.log4j.core.async.
>> > AsyncLoggerContextSelector
>> >     to make all loggers asynchronous. -->
>> >
>> > <Configuration status="WARN">
>> >     <Properties>
>> >         <Property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS}
>> > [%level] %logger: %m%n" />
>> >     </Properties>
>> >     <Appenders>
>> >         <!-- Async Loggers will auto-flush in batches, so switch off
>> > immediateFlush. -->
>> >         <RollingRandomAccessFile name="RollingRandomAccessFile"
>> > fileName="${sys:user.home}/.app/app.log"
>> >             filePattern="app-%d{yyyy-MM-dd}-%i.log.gz"
>> > immediateFlush="false" append="false">
>> >             <PatternLayout>
>> >                 <Pattern>${pattern}</Pattern>
>> >             </PatternLayout>
>> >             <Policies>
>> >                 <OnStartupTriggeringPolicy />
>> >             </Policies>
>> >         </RollingRandomAccessFile>
>> >     </Appenders>
>> >     <Loggers>
>> >         <Logger name="com.company" level="ERROR" includeLocation="false"
>> > additivity="false">
>> >             <AppenderRef ref="RollingRandomAccessFile" />
>> >         </Logger>
>> >         <Root level="WARN" includeLocation="false">
>> >             <AppenderRef ref="RollingRandomAccessFile" />
>> >         </Root>
>> >     </Loggers>
>> > </Configuration>
>> >
>> >
>> > /Sverre
>> >
>>
>>
>>
>> --
>> Matt Sicker <boa...@gmail.com>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to