Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何自定义log4j2.xml参数_Java_Logging_Log4j_Log4j2 - Fatal编程技术网

Java 如何自定义log4j2.xml参数

Java 如何自定义log4j2.xml参数,java,logging,log4j,log4j2,Java,Logging,Log4j,Log4j2,我不熟悉使用log4j2。我刚刚开始,准备了以下log4j2.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%msg%n" /

我不熟悉使用
log4j2
。我刚刚开始,准备了以下
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的滚动文件?

没有滚动行为,它只是附加到指定的文件。当
append=“false”
时,它将在应用程序重新启动时覆盖任何现有文件

这可能就是你要找的

本手册有许多示例,但这可能与您的想法非常接近:

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>
1
2.
3.
4.
6.
7%d%p%c{1.}[%t]%m%n
8.
9
10
11
12
13
14
15
16
17
18
19
20
21

那么默认文件(我的代码)的大小会有多大?没有限制,这取决于应用程序日志的大小。如果应用程序从未重新启动,最终可能会耗尽磁盘空间。哦,我明白了!然后我必须切换到你的代码!谢谢。有一个问题:为什么还有家长应用程序。日志?!我得到了这个以及两个滚动文件。app.log文件就是Log4j当前正在写入的文件。如果满足滚动条件,Log4j将“滚动”当前文件(重命名、移动到其他目录并压缩)。然后,它将创建一个新的“当前日志文件”,将日志事件附加到其中。您做了什么?你看过报纸了吗?看过。以上代码是我的研究成果!