通过Java日志优化CentOS资源,可以从以下几个方面入手:
WARN或ERROR,而不是DEBUG或INFO。import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.config.Configurator;
public class LogLevelExample {
public static void main(String[] args) {
Configurator.setLevel("org.example", Level.WARN);
}
}
<!-- Log4j2配置示例 -->
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
<!-- Log4j2异步日志配置示例 -->
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</Console>
</Appenders>
<Loggers>
<AsyncRoot level="warn">
<AppenderRef ref="Console"/>
</AsyncRoot>
</Loggers>
</Configuration>
<!-- Log4j2日志轮转配置示例 -->
<Configuration status="WARN">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
ulimit命令设置单个进程可以打开的文件描述符数量。ulimit -n 4096
top、htop、vmstat等工具监控系统资源使用情况,确保日志不会占用过多资源。gzip或其他压缩工具对日志文件进行压缩,节省磁盘空间。gzip logs/app.log
通过以上方法,可以有效地优化Java应用程序在CentOS上的日志输出,减少资源消耗,提高系统性能。