Ubuntu Java编译时日志输出怎么配置
在Ubuntu上配置Java编译时的日志输出,可通过以下方式实现:
一、使用内置日志框架(java.util.logging)
-
创建配置文件
在项目根目录创建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
二、使用第三方日志框架(以Log4j2为例)
-
添加依赖
在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
-
框架特定参数
- Log4j2可通过
-Dlog4j.configurationFile=path/to/log4j2.xml
指定配置文件路径。 - Logback可通过
-Dlogback.configurationFile=path/to/logback.xml
配置。
- Log4j2可通过
四、查看编译日志
- 控制台输出:直接运行
javac
或java
命令时,日志会实时显示在终端。 - 文件查看:配置文件中指定的日志文件(如
build.log
)会记录详细日志,可通过cat
或less
命令查看:cat build.log
参考来源
- :介绍了Log4j、java.util.logging的配置方法。
- :说明了日志级别的设置方式。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!