CentOS Java日志配置指南

CentOS Java日志配置指南

一、选择日志框架

  • 常用框架:Log4j、Logback(推荐)、SLF4J。
  • 配置文件
    • Log4j:log4j.propertieslog4j2.xml
    • Logback:logback.xml

二、配置日志输出

  • 输出位置:控制台、文件、远程服务器(如通过SocketAppender)。
  • 文件路径:在配置文件中指定,如/var/log/myapp.log
  • 格式设置:使用PatternLayout定义格式,例如%d{ISO8601} %-5p [%t] %c - %m%n

三、日志滚动策略

  • 按大小/时间滚动
    • Log4j:配置RollingFileAppenderMaxFileSize(如10MB)和MaxBackupIndex(保留份数)。
    • Logback:使用SizeAndTimeBasedRollingPolicy,设置maxFileSizemaxHistory(如30天)。
  • 工具辅助:通过logrotate管理日志归档与压缩,配置文件位于/etc/logrotate.d/。示例配置:
    /var/log/myapp/*.log {
      daily
      rotate 7
      compress
      missingok
      notifempty
    }
    

四、日志级别管理

  • 级别设置:DEBUG、INFO、WARN、ERROR、FATAL,根据环境调整(生产环境建议INFO及以上)。
  • 动态调整:部分框架支持运行时修改级别(如Logback的JMXConfigurator)。

五、集中式日志管理(可选)

  • ELK Stack
    • Logstash:收集日志并发送至Elasticsearch。
    • Kibana:可视化分析日志,支持仪表盘和告警。
  • 配置方式:在Logstash中通过input插件接收Java应用日志,需在Java端配置输出到Logstash(如Socket或HTTP协议)。

六、监控与告警

  • 工具集成:使用Prometheus+Grafana监控日志指标,或通过ELK的告警功能设置规则。
  • 关键指标:日志量异常、错误日志频率、磁盘占用等。

七、安全注意事项

  • 敏感信息过滤:避免在日志中记录密码、身份证号等,可使用脱敏工具或框架配置。
  • 权限控制:确保日志文件权限仅对必要用户开放(如chmod 640)。

参考来源