1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j;
18
19
20 import org.apache.log4j.spi.LoggerFactory;
21 import org.apache.logging.log4j.core.LoggerContext;
22
23
24
25
26 public class Logger extends Category {
27
28 private static final String FQCN = Logger.class.getName();
29
30 protected Logger(final String name) {
31 super((LoggerContext) PrivateManager.getContext(), name);
32 }
33
34 Logger(final LoggerContext context, final String name) {
35 super(context, name);
36 }
37
38 public static Logger getLogger(final String name) {
39 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name);
40 }
41
42 public static Logger getLogger(final Class<?> clazz) {
43 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), clazz);
44 }
45
46 public static Logger getRootLogger() {
47 return (Logger) Category.getRoot((LoggerContext) PrivateManager.getContext());
48 }
49
50 public static Logger getLogger(final String name, final LoggerFactory factory) {
51 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name, factory);
52 }
53
54
55
56
57 private static class PrivateManager extends org.apache.logging.log4j.LogManager {
58 private static final String FQCN = Logger.class.getName();
59
60 public static org.apache.logging.log4j.spi.LoggerContext getContext() {
61 return getContext(FQCN, false);
62 }
63
64 public static org.apache.logging.log4j.Logger getLogger(final String name) {
65 return getLogger(FQCN, name);
66 }
67 }
68 }