vmassol     01/08/14 05:15:48

  Modified:    cactus/src/framework/share/org/apache/commons/cactus/util/log
                        LogService.java
  Log:
  corrected bug reported by GUMP (thanks GUMP!) when initializing the logging system 
with a null parameter passed to LogService.init()
  
  Revision  Changes    Path
  1.4       +23 -8     
jakarta-commons/cactus/src/framework/share/org/apache/commons/cactus/util/log/LogService.java
  
  Index: LogService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/cactus/src/framework/share/org/apache/commons/cactus/util/log/LogService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LogService.java   2001/06/27 20:44:41     1.3
  +++ LogService.java   2001/08/14 12:15:48     1.4
  @@ -117,18 +117,33 @@
        * Initialize the logging system. Need to be called once before calling
        * <code>getLog()</code>.
        *
  -     * @param theFileName the file name (Ex: "/log_client.properties")
  +     * @param theFileName the file name (Ex: "/log_client.properties") or null
  +     *        to initialize a dummy logging system, meaning that all log calls
  +     *        will have no effect. This is useful for unit testing for
  +     *        instance where the goal is not to verify that logs are printed.
        */
       public void init(String theFileName)
       {
  -        if (isLog4jInClasspath) {
  +        // If logging system already initialized, do nothing
  +        if (isInitialized()) {
  +            return;
  +        }
   
  -            URL url = this.getClass().getResource(theFileName);
  -            if (url != null) {
  -                // Initialize Log4j
  -                PropertyConfigurator.configure(url);
  -            } else {
  -                throw new RuntimeException("Could not find [" + theFileName + "]");
  +        if (theFileName != null) {
  +
  +            if (isLog4jInClasspath) {
  +
  +                URL url = this.getClass().getResource(theFileName);
  +                if (url != null) {
  +                    // Initialize Log4j
  +                    PropertyConfigurator.configure(url);
  +                } else {
  +                    // Failed to configure logging system, simply print
  +                    // a warning on stderr
  +                    System.err.println("Failed to configure logging " +
  +                        "system : Could not find file [" + theFileName + "]");
  +                }
  +
               }
   
           }
  
  
  

Reply via email to