java - How to move log4j.properties outside jar file? -


i build jar file gradle, app uses log4j. log4j.properties embedded in jar file. moved outside able modify in production. updated meta-inf/manifest.mf file embedded in jar file reflect this:

class-path: lib/log4j-1.2.1 lib/slf4j-api-1.4.2.jar             lib/slf4j-api-1.5.6.jar lib/slf4j-log4j12-1.5.6.jar             lib/log4j-1.2.14.jar             ...             lib/log4j.properties 

my filetree follows on windows7 32bit machine:

root/myapp.jar root/lib/log4j.properties 

i start app command:

java -dlog4j.configuration='lib\log4j.properties' -dlog4j.debug=true -jar myapp.jar > logs/output.log 

my logs/output.log says log4j not find property file:

log4j: trying find ['lib\log4j.properties'] using context classloader sun.misc.launcher$appclassloader@17fa65e. log4j: trying find ['lib\log4j.properties'] using sun.misc.launcher$appclassloader@17fa65e class loader. log4j: trying find ['lib\log4j.properties'] using classloader.getsystemresource(). log4j: not find resource: ['lib\log4j.properties']. 

i tried with:

-dlog4j.configuration='lib/log4j.properties' -dlog4j.configuration='log4j.properties' -dlog4j.configuration=log4j.properties 

when embed file in jar, works:

log4j: trying find [log4j.properties] using context classloader sun.misc.launcher$appclassloader@18385e3. log4j: using url [jar:file:/c:/users/user/desktop/myapp/myapp.jar!/log4j.properties] automatic log4j configuration. log4j: reading configuration url jar:file:/c:/users/user/desktop/myapp/myapp-2.1.9.jar!/log4j.properties log4j: parsing [root] value=[debug, a]. 

but need outside... idea?

try this:

-dlog4j.configuration=file:lib/log4j.properties 

but i'm curious: class-path definition in manifest work? jars, yes, that's standard, work log4j.properties, too?


Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -