(Level level, String msg, Throwable ex)
| 152 | } |
| 153 | |
| 154 | private void log(Level level, String msg, Throwable ex) { |
| 155 | if (logger.isLoggable(level)) { |
| 156 | // Hack (?) to get the stack trace. |
| 157 | Throwable dummyException = new Throwable(); |
| 158 | StackTraceElement[] locations = dummyException.getStackTrace(); |
| 159 | // Caller will be the third element |
| 160 | String cname = "unknown"; |
| 161 | String method = "unknown"; |
| 162 | if (locations != null && locations.length > 2) { |
| 163 | StackTraceElement caller = locations[2]; |
| 164 | cname = caller.getClassName(); |
| 165 | method = caller.getMethodName(); |
| 166 | } |
| 167 | if (ex == null) { |
| 168 | logger.logp(level, cname, method, msg); |
| 169 | } else { |
| 170 | logger.logp(level, cname, method, msg, ex); |
| 171 | } |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | static Log getInstance(String name) { |
| 176 | return new DirectJDKLog(name); |
no test coverage detected