阅读量:1
在Ubuntu系统中设置Java日志级别可以通过多种方式实现,具体取决于你使用的日志框架。以下是几种常见的方法:
使用Log4j2配置日志级别
- 添加Log4j2依赖(如果你使用的是Maven项目):
<dependencies>
<dependency>
<groupId>org.apache.logging.log4jgroupId>
<artifactId>log4j-apiartifactId>
<version>2.14.1version>
dependency>
<dependency>
<groupId>org.apache.logging.log4jgroupId>
<artifactId>log4j-coreartifactId>
<version>2.14.1version>
dependency>
dependencies>
- 创建
log4j2.xml配置文件 并将其放置在项目的resources目录下:
"1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
Console>
<File name="File" fileName="logs/app.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
Policies>
<DefaultRolloverStrategy max="10" />
File>
Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
Root>
Loggers>
Configuration>
在上面的配置中,日志级别被设置为 info,这意味着只有 info 级别及以上的日志信息会被记录到控制台和文件中。
使用Java Util Logging配置日志级别
- 创建
logging.properties配置文件:
handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
- 在Java代码中加载配置文件:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.logging.LogManager;
import java.util.logging.Logger;
public class MyApp {
static final Logger logger = Logger.getLogger(MyApp.class);
public static void main(String[] args) {
try {
LogManager.readConfiguration(MyApp.class.getResourceAsStream("/logging.properties"));
} catch (IOException e) {
e.printStackTrace();
}
logger.info("This is an info message");
}
}
使用命令行参数
- Log4j:
java -Dlog4j.configuration=file:/path/to/log4j.properties -jar your-application.jar
在 log4j.properties 文件中设置日志级别:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# 设置特定包的日志级别
log4j.logger.com.yourcompany.yourapp=DEBUG
- Logback:
java -Dlogback.configurationFile=/path/to/logback.xml -jar your-application.jar
在 logback.xml 文件中设置日志级别:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%npattern>
encoder>
appender>
<root level="info">
<appender-ref ref="STDOUT" />
root>
<logger name="com.yourcompany.yourapp" level="debug" />
configuration>
使用环境变量
- Log4j:
export LOG4J_ROOT_LOGLEVEL=DEBUG
java -jar your-application.jar
- Logback:
export LOGBACK_ROOT_LOGLEVEL=DEBUG
java -jar your-application.jar
在代码中设置
你也可以在Java代码中直接设置日志级别。例如,使用Log4j:
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class MyApp {
static final Logger logger = Logger.getLogger(MyApp.class);
public static void main(String[] args) {
// 设置根日志级别
Logger.getRootLogger().setLevel(Level.DEBUG);
// 设置特定包的日志级别
Logger.getLogger("com.yourcompany.yourapp").setLevel(Level.DEBUG);
logger.debug("This is a debug message");
}
}
通过以上方法,你可以根据具体需求选择合适的方式来设置Java日志级别。通常,使用配置文件是最灵活和推荐的方式,因为它可以在不修改代码的情况下更改日志级别。
以上就是关于“Ubuntu Java日志级别怎么设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm