Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
14   104   4   7
2   36   0.36   2
2     2.5  
1    
 
 
  SAWSLogWriter       Line # 63 14 4 66.7% 0.6666667
 
No Tests
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45   
46   
47    package issrg.SAWS.util;
48   
49    import java.io.IOException;
50    import java.io.File;
51   
52    import org.apache.log4j.Logger;
53    import org.apache.log4j.FileAppender;
54    import org.apache.log4j.PatternLayout;
55    import org.apache.log4j.Level;
56    import org.apache.log4j.BasicConfigurator;
57   
58    /**
59    * Class that writes the log for SAWS initialization.
60    * @author E. Silva.
61    */
62   
 
63    public class SAWSLogWriter {
64   
65    private Logger log;
66    private FileAppender appender;
67    private PatternLayout layout;
68   
69    /**
70    * Constructor of SAWSLogWriter.
71    * @param className Name of the classe that is using SAWSLogWriter.
72    */
 
73  55 toggle public SAWSLogWriter(String className) {
74  55 this.layout = new PatternLayout("\"%d{yyyy MMM dd HH:mm:ss} [%c]\n -%-5p- %m%n");
75   
76  55 try {
77  55 File file = new File("logs", "SAWS_debug.log");
78  55 if (!file.getParentFile().exists() && !file.getParentFile().mkdir()) {
79  0 System.err.println("SAWS was not able to create the directory for the internal debog log file.");
80    } else {
81  55 file.createNewFile();
82  55 this.appender = new FileAppender(layout, "logs/SAWS_debug.log"); //define log File location
83    }
84    } catch (IOException e) {
85  0 System.err.println("Unable to create/access the internal SAWS log file."
86    + "\nSystem is going to print log information on defaul output (eg. command prompt).");
87    //System.exit(-1);
88  0 BasicConfigurator.configure();
89    }
90   
91  55 this.log = Logger.getLogger(className);
92  55 this.log.removeAllAppenders();
93  55 this.log.addAppender(appender);
94  55 this.log.setLevel(Level.DEBUG);
95    }
96   
97    /**
98    * Method that writes the log message to the log file.
99    * @param message Message to be written
100    */
 
101  0 toggle public void write(Object message) {
102  0 this.log.debug(message);
103    }
104    }