User Tools

Site Tools


java:log4j

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:log4j [2009/10/20 14:43]
Alexander Rind log4j.properties
java:log4j [2010/10/11 17:01]
Alexander Rind init snippet; SecurityException
Line 33: Line 33:
 log4j.logger.gui.MainFrame=INFO log4j.logger.gui.MainFrame=INFO
 </​file>​ </​file>​
 +
 +<code java>
 +        try {
 +            if ((new File("​log4j.properties"​)).canRead())
 +                PropertyConfigurator.configure("​log4j.properties"​);​
 +        }
 +        catch (SecurityException e) {
 +        }
 +</​code>​
  
 ===== Rationale ===== ===== Rationale =====
Line 57: Line 66:
 If the program reads a ''​log4.properties''​ file from the file system, ​ If the program reads a ''​log4.properties''​ file from the file system, ​
 the file will likely get lost and users will be confronted with a ''​FileNotFoundException'' ​ the file will likely get lost and users will be confronted with a ''​FileNotFoundException'' ​
-and might not be able to run the program.+or might not be able to run the program.
  
 Here is a solution that works well for me: Here is a solution that works well for me:
Line 65: Line 74:
     * if you create a jar-file, this will be the root directory of the jar-file     * if you create a jar-file, this will be the root directory of the jar-file
     * for the default settings use minimal logging (e.g., ConsoleAppender,​ WARN level)     * for the default settings use minimal logging (e.g., ConsoleAppender,​ WARN level)
-  - a customized ''​log4j.properties''​ file is located in the working directory+  - a customized ''​log4j.properties''​ file can be located in the working directory
     * if you work with Eclipse, this will be the project directory     * if you work with Eclipse, this will be the project directory
   - in the main method **check, whether ''​log4j.properties''​ exists** in the working directory   - in the main method **check, whether ''​log4j.properties''​ exists** in the working directory
-    * if it exist, then load this file+    * if it exist and is readable, then load this file 
 +    * handle SecurityException (e.g., for Java Web Start) ​
     * if it does not exist, log4j will load the file from the classpath by default     * if it does not exist, log4j will load the file from the classpath by default
   - if users want to override this behavior, they can    - if users want to override this behavior, they can 
java/log4j.txt · Last modified: 2012/01/04 10:30 by Alexander Rind

alex @ ieg: home about me publications research