Ubuntu中Java日志管理主要涉及日志框架配置、文件管理及分析,核心操作如下:
选择日志框架
log4j.properties或log4j2.xml配置日志级别、输出格式及目标(控制台/文件/数据库等),支持异步日志和自动重载配置。logback.xml配置,支持结构化日志和滚动文件输出。配置日志输出
log4j2.xml或logback.xml中设置日志级别(如DEBUG/INFO/ERROR)、格式(如%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger - %msg%n)及输出目标(如文件路径、滚动策略)。<RollingFile name="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
</RollingFile>
日志文件管理
tail -f实时查看、less分页查看或cat查看完整日志。logrotate工具配置日志定期轮转、压缩(如按天或按大小分割),配置文件位于/etc/logrotate.conf或/etc/logrotate.d/。logs目录或系统/var/log下,具体路径由框架配置决定。高级分析工具
/etc/td-agent/td-agent.conf。系统日志集成
journalctl查看由systemd管理的Java应用日志(需应用配置为systemd服务)。关键命令示例:
tail -f /var/log/myapp/app.logsrc/main/resources/log4j2.xml中设置<Root level="INFO">/etc/logrotate.d/myapp,添加/path/to/logs/*.log { daily rotate 7 compress }。根据项目需求选择框架,优先使用SLF4J+Logback组合,兼顾灵活性与性能。