第一导包:
org.apache.logging.log4j
log4j-api
2.11.1
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.11.1</version>
</dependency>
第二导入配置文件:
status=error
dest=err
name=PropertiesConfig
#公共变量
#文件路径
property.filePath=logs
property.filePattern=logs/%d{yyyy}/%d{MM}
#输出格式
property.layoutPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %c ] %m%n
级别过滤(过滤日志记录)
#filters = threshold
filter.threshold.type=ThresholdFilter
只记录debug级别以上的日志,大小写无关:(ALL<)TRACE<DEBUG<INFO<WARN<ERROR<FATAL(<OFF)
filter.threshold.level=debug
根记录器,所有记录器的父辈
rootLogger.level=debug
appender.console.type=Console
appender.console.name=STDOUT
appender.console.target=SYSTEM_OUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=
l
a
y
o
u
t
P
a
t
t
e
r
n
r
o
o
t
L
o
g
g
e
r
.
a
p
p
e
n
d
e
r
R
e
f
.
s
t
d
o
u
t
.
r
e
f
=
S
T
D
O
U
T
a
p
p
e
n
d
e
r
.
D
.
t
y
p
e
=
R
o
l
l
i
n
g
F
i
l
e
a
p
p
e
n
d
e
r
.
D
.
n
a
m
e
=
D
e
b
u
g
R
o
l
l
i
n
g
F
i
l
e
a
p
p
e
n
d
e
r
.
D
.
f
i
l
e
N
a
m
e
=
D
:
/
W
o
r
k
S
p
a
c
e
/
e
c
l
i
p
s
e
−
w
o
r
k
s
p
a
c
e
/
S
p
r
i
n
g
M
V
C
/
s
r
c
/
l
o
g
/
o
p
d
a
t
a
−
d
e
b
u
g
.
l
o
g
a
p
p
e
n
d
e
r
.
D
.
f
i
l
e
P
a
t
t
e
r
n
=
{layoutPattern} rootLogger.appenderRef.stdout.ref=STDOUT appender.D.type=RollingFile appender.D.name=DebugRollingFile appender.D.fileName=D:/WorkSpace/eclipse-workspace/SpringMVC/src/log/opdata-debug.log appender.D.filePattern=
layoutPatternrootLogger.appenderRef.stdout.ref=STDOUTappender.D.type=RollingFileappender.D.name=DebugRollingFileappender.D.fileName=D:/WorkSpace/eclipse−workspace/SpringMVC/src/log/opdata−debug.logappender.D.filePattern={filePattern}/opdata_debug.log
appender.D.layout.type=PatternLayout
appender.D.layout.pattern=KaTeX parse error: Expected 'EOF', got '#' at position 349: …rategy.max=100 #̲过滤debug以上信息 app…{filePattern}/opdata_info.log
appender.I.layout.type=PatternLayout
appender.I.layout.pattern=KaTeX parse error: Expected 'EOF', got '#' at position 349: …rategy.max=100 #̲过滤INFO以上信息 appe…{filePattern}/opdata_warn.log
appender.W.layout.type=PatternLayout
appender.W.layout.pattern=KaTeX parse error: Expected 'EOF', got '#' at position 349: …rategy.max=100 #̲过滤warn以上信息 appe…{filePattern}/opdata_error.log
appender.E.layout.type=PatternLayout
appender.E.layout.pattern=KaTeX parse error: Expected 'EOF', got '#' at position 349: …rategy.max=100 #̲过滤ERROR以上信息 app…{filePattern}/opdata_fatal.log
appender.F.layout.type=PatternLayout
appender.F.layout.pattern=${layoutPattern}
appender.F.policies.type=Policies
appender.F.policies.time.type=TimeBasedTriggeringPolicy
appender.F.policies.time.interval=1
appender.F.policies.time.modulate=true
appender.F.policies.size.type=SizeBasedTriggeringPolicy
appender.F.policies.size.size=20M
appender.F.strategy.type=DefaultRolloverStrategy
appender.F.strategy.max=100
rootLogger.appenderRef.F.ref=FatalRollingFile
rootLogger.appenderRef.F.level=FATAL
#appender.S.type = Socket
#appender.S.name= SocketTCP
#appender.S.host = 10.10.1.169
#appender.S.port=4560
#appender.S.protocol = TCP
#appender.S.layout.type = JsonLayout
#appender.S.layout.compact = true
#appender.S.layout.eventEol = true
#appender.S.connectTimeoutMillis = 2000
#rootLogger.appenderRef.S.ref=SocketTCP
#rootLogger.appenderRef.S.level=socket
#配置第三方包的日志
logger.jpath.name=com.jayway.jsonpath
logger.jpath.level=error
logger.mongodb.name=org.mongodb.driver
logger.mongodb.level=error
其中五个地址就是日志文件生成的存放的路径
在web.xml加一段代码
log4jContextName
myApplication