Using system environment variables in log4j xml configuration

Derek Lewis picture Derek Lewis · Oct 14, 2008 · Viewed 68.6k times · Source

Is it possible to reference system environment variables (as opposed to Java system properties) in a log4j xml configuration file?

I'd like to be able to do something like:

<level value="${env.LOG_LEVEL}" />

and have it get that from the system environment variables, so I can avoid having to pass in so many things with -D parameters.

Answer

Einar picture Einar · Oct 14, 2008

I tried to do that recently and couldn't get it to work. What I ended up doing is sending a variable at startup. So say you have an environment variable called $LOG_LEVEL:

<level value="${log_level}" />

and at startup...

java -Dlog_level=$LOG_LEVEL your_app