温馨提示×

Java日志在CentOS如何配置

小樊
58
2025-08-10 16:24:45
栏目: 编程语言

在CentOS上配置Java日志主要涉及选择框架、添加依赖、创建配置文件等步骤,以下是具体方法:

一、选择日志框架

常见框架有Log4j、Logback和SLF4J(日志门面,需搭配具体实现如Logback)。

二、添加依赖

以Maven项目为例:

  • Log4j2:在pom.xml中添加log4j-core依赖。
  • Logback:添加logback-classic依赖。

三、创建配置文件

将配置文件放在项目的src/main/resources目录下。

  • Log4j2:创建log4j2.xml,示例配置如下:
    <Configuration>
        <Appenders>
            <Console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
            </Console>
            <File name="File" fileName="logs/app.log">
                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
            </File>
        </Appenders>
        <Loggers>
            <Root level="info">
                <AppenderRef ref="Console"/>
                <AppenderRef ref="File"/>
            </Root>
        </Loggers>
    </Configuration>
    
  • Logback:创建logback.xml,示例配置如下:
    <configuration>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>logs/app.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>logs/app.%d{yyyy-MM-dd}.gz</fileNamePattern>
                <maxHistory>30</maxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
        <root level="info">
            <appender-ref ref="STDOUT"/>
            <appender-ref ref="FILE"/>
        </root>
    </configuration>
    

四、配置日志轮转(可选)

使用Logrotate工具管理日志文件,避免单个文件过大。

  1. 安装Logrotate:sudo yum install logrotate
  2. 创建配置文件/etc/logrotate.d/java,示例内容:
    /var/log/java/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 0644 root root
    }
    

五、查看与管理日志

  • 使用tail -f /var/log/java/app.log实时查看日志。
  • 若需集中式管理,可搭配ELK Stack(Elasticsearch+Logstash+Kibana)。

注意事项

  • 确保配置文件中路径正确,且应用有权限写入日志目录。
  • 生产环境中建议使用异步日志(如Logback的AsyncAppender)提升性能。

参考来源:

0