我刚开始使用log4j 2
。我刚开始,并准备了以下log4j2.xml
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%msg%n" />
</Console>
<File name="MyFile" fileName="manager.log" immediateFlush="true" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
我的xml中默认的日志记录行为和文件大小是什么?是滚动文件还是每天滚动一次,还是只是一个默认大小的大文件?!
如果没有,如何将其更改为2个最大10mb的滚动文件?
答案 0 :(得分:1)
File appender没有翻转行为,它只是追加到指定的文件。当append = "false"
时,它将在应用程序重新启动时覆盖任何现有文件。
您可能正在寻找Rolling File Appender。
手册中有许多示例,但这可能与您的想法很接近:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Configuration status="warn" name="MyApp" packages="">
3 <Appenders>
4 <RollingFile name="RollingFile" fileName="logs/app.log"
5 filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
6 <PatternLayout>
7 <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
8 </PatternLayout>
9 <Policies>
10 <TimeBasedTriggeringPolicy />
11 <SizeBasedTriggeringPolicy size="10 MB"/>
12 </Policies>
13 <DefaultRolloverStrategy max="2"/>
14 </RollingFile>
15 </Appenders>
16 <Loggers>
17 <Root level="error">
18 <AppenderRef ref="RollingFile"/>
19 </Root>
20 </Loggers>
21 </Configuration>