bugfix in expression parsing
[mir.git] / source / mir / log / log4j / LoggerImpl.java
1 package mir.log.log4j;
2
3 import org.apache.log4j.PropertyConfigurator;
4 import org.apache.log4j.Logger;
5
6 import java.util.Map;
7 import java.util.HashMap;
8
9
10 public class LoggerImpl implements mir.log.Logger {
11
12     private static Map loggers = new HashMap();
13
14     public LoggerImpl() {
15         PropertyConfigurator.configure("log4j.properties");
16     }
17
18
19     public void debug( Object o, String s ) {
20         this.getLogger(o).debug(s);
21     }
22
23     public void info( Object o, String s ) {
24         this.getLogger(o).info(s);
25     }
26
27     public void warn( Object o, String s ) {
28         this.getLogger(o).warn(s);
29     }
30
31     public void error( Object o, String s ) {
32         this.getLogger(o).error(s);
33     }
34
35     public void fatal( Object o, String s ) {
36         this.getLogger(o).fatal(s);
37     }
38
39
40     private Logger getLogger( Object o ) {
41         String name;
42         if (o instanceof Class) {
43             name = ((Class)o).getName();
44         } else if (o!=null) {
45             name = o.getClass().getName();
46         } else {
47             name = "generic";
48         }
49
50         Logger l = (Logger)loggers.get(name);
51         if (l==null) {
52             l = Logger.getLogger(name);
53             loggers.put(name, l);
54         }
55         return l;
56     }
57 }