溫馨提示×

Ubuntu Java日志級別設置指南

小樊
49
2025-07-04 23:06:41
欄目: 編程語言

在Ubuntu上設置Java日志級別可以通過多種方式實現,具體取決于你使用的日志框架。以下是幾種常見的方法:

使用Log4j2配置日志級別

  1. 添加Log4j2依賴(如果你使用的是Maven項目):
<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.14.1</version>
    </dependency>
    <dependency>
        <artifactId>log4j-core</artifactId>
        <version>2.14.1</version>
    </dependency>
</dependencies>
  1. 創建log4j2.xml配置文件并將其放置在項目的resources目錄下:
<?xml version="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配置日志級別

  1. 創建logging.properties配置文件
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
  1. 在Java代碼中加載配置文件
import java.io.FileInputStream;
import java.io.IOException;
import java.util.logging.Logger;
import java.util.logging.config.Configurator;

public class Main {
    public static void main(String[] args) {
        try {
            FileInputStream fileIS = new FileInputStream("/path/to/logging.properties");
            Configurator.configure(fileIS);
        } catch (IOException e) {
            e.printStackTrace();
        }
        Logger logger = Logger.getLogger(Main.class.getName());
        logger.info("This is an info message");
    }
}

使用命令行參數設置日志級別

  1. 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
  1. 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%n</pattern>
        </encoder>
    </appender>
    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
    <!-- 設置特定包的日志級別 -->
    <logger name="com.yourcompany.yourapp" level="debug" />
</configuration>

使用環境變量設置日志級別

  1. Log4j
export LOG4J_ROOT_LOGLEVEL=DEBUG
java -jar your-application.jar
  1. Logback
export LOGBACK_ROOT_LOGLEVEL=DEBUG
java -jar your-application.jar

在代碼中設置日志級別

  1. 使用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");
    }
}

通過上述方法,你可以在Ubuntu上靈活地設置和管理Java應用程序的日志級別,以滿足不同的需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女