1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.config;
18
19 import java.io.Serializable;
20
21 import org.apache.logging.log4j.Level;
22 import org.apache.logging.log4j.core.Appender;
23 import org.apache.logging.log4j.core.Layout;
24 import org.apache.logging.log4j.core.appender.ConsoleAppender;
25 import org.apache.logging.log4j.core.layout.PatternLayout;
26 import org.apache.logging.log4j.util.PropertiesUtil;
27
28
29
30
31
32
33
34 public class DefaultConfiguration extends AbstractConfiguration {
35
36 private static final long serialVersionUID = 1L;
37
38
39
40
41 public static final String DEFAULT_NAME = "Default";
42
43
44
45 public static final String DEFAULT_LEVEL = "org.apache.logging.log4j.level";
46
47
48
49 public static final String DEFAULT_PATTERN = "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n";
50
51
52
53
54 public DefaultConfiguration() {
55 super(ConfigurationSource.NULL_SOURCE);
56
57 setName(DEFAULT_NAME);
58 final Layout<? extends Serializable> layout = PatternLayout.newBuilder()
59 .withPattern(DEFAULT_PATTERN)
60 .withConfiguration(this)
61 .build();
62 final Appender appender = ConsoleAppender.createDefaultAppenderForLayout(layout);
63 appender.start();
64 addAppender(appender);
65 final LoggerConfig root = getRootLogger();
66 root.addAppender(appender, null, null);
67
68 final String levelName = PropertiesUtil.getProperties().getStringProperty(DEFAULT_LEVEL);
69 final Level level = levelName != null && Level.valueOf(levelName) != null ?
70 Level.valueOf(levelName) : Level.ERROR;
71 root.setLevel(level);
72 }
73
74 @Override
75 protected void doConfigure() {
76 }
77 }