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
37
38
39 public static final String DEFAULT_NAME = "Default";
40
41
42
43 public static final String DEFAULT_LEVEL = "org.apache.logging.log4j.level";
44
45
46
47 public static final String DEFAULT_PATTERN = "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n";
48
49
50
51
52 public DefaultConfiguration() {
53 super(ConfigurationSource.NULL_SOURCE);
54
55 setName(DEFAULT_NAME);
56 final Layout<? extends Serializable> layout = PatternLayout.newBuilder()
57 .withPattern(DEFAULT_PATTERN)
58 .withConfiguration(this)
59 .build();
60 final Appender appender =
61 ConsoleAppender.createAppender(layout, null, "SYSTEM_OUT", "Console", "false", "true");
62 appender.start();
63 addAppender(appender);
64 final LoggerConfig root = getRootLogger();
65 root.addAppender(appender, null, null);
66
67 final String levelName = PropertiesUtil.getProperties().getStringProperty(DEFAULT_LEVEL);
68 final Level level = levelName != null && Level.valueOf(levelName) != null ?
69 Level.valueOf(levelName) : Level.ERROR;
70 root.setLevel(level);
71 }
72
73 @Override
74 protected void doConfigure() {
75 }
76 }