温馨提示×

Ubuntu Java编译时日志输出怎么配置

小樊
42
2025-08-17 16:06:16
栏目: 编程语言

在Ubuntu上配置Java编译时的日志输出,可通过以下方式实现:

一、使用内置日志框架(java.util.logging)

  1. 创建配置文件
    在项目根目录创建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
    
  2. 启动时指定配置文件
    编译时通过JVM参数加载配置:

    javac -Djava.util.logging.config.file=logging.properties YourJavaFile.java
    

二、使用第三方日志框架(以Log4j2为例)

  1. 添加依赖
    pom.xml中添加Log4j2依赖(Maven项目):

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.x.x</version>
    </dependency>
    
  2. 创建配置文件
    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>
    
  3. 代码中使用日志

    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
    
  • 框架特定参数

    • Log4j2可通过-Dlog4j.configurationFile=path/to/log4j2.xml指定配置文件路径。
    • Logback可通过-Dlogback.configurationFile=path/to/logback.xml配置。

四、查看编译日志

  • 控制台输出:直接运行javacjava命令时,日志会实时显示在终端。
  • 文件查看:配置文件中指定的日志文件(如build.log)会记录详细日志,可通过catless命令查看:
    cat build.log
    

参考来源

  • :介绍了Log4j、java.util.logging的配置方法。
  • :说明了日志级别的设置方式。

0