在Ubuntu上配置Java编译时的日志输出,可通过以下方式实现:
创建配置文件
在项目根目录创建logging.properties文件,配置日志级别和输出目标(控制台/文件):
handlers=java.util.logging.ConsoleHandler, java.util.logging.FileHandler
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.level=WARNING
java.util.logging.FileHandler.pattern=build.log
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
启动时指定配置文件
编译时通过JVM参数加载配置:
javac -Djava.util.logging.config.file=logging.properties YourJavaFile.java
添加依赖
在pom.xml中添加Log4j2依赖(Maven项目):
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.x.x</version>
</dependency>
创建配置文件
在src/main/resources目录下创建log4j2.xml,配置日志输出格式和级别:
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="File" fileName="build.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>
代码中使用日志
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger logger = LogManager.getLogger(Main.class);
public static void main(String[] args) {
logger.info("编译开始");
// 编译逻辑
logger.warn("警告信息");
logger.error("错误信息");
}
}
修改JVM参数
通过-D参数指定日志级别(适用于内置日志框架):
javac -Djava.util.logging.level=FINE YourJavaFile.java
框架特定参数
-Dlog4j.configurationFile=path/to/log4j2.xml指定配置文件路径。-Dlogback.configurationFile=path/to/logback.xml配置。javac或java命令时,日志会实时显示在终端。build.log)会记录详细日志,可通过cat或less命令查看:cat build.log