要將 Java 命令行輸出的日志記錄到文件,您需要使用 Java 日志框架(如 java.util.logging 或第三方日志框架,如 Log4j 或 SLF4J)。這里,我將向您展示如何使用 java.util.logging 將日志記錄到文件。
首先,創建一個名為 logging.properties
的配置文件,其中包含以下內容:
handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.pattern=logging-%u-%g-%t.log
java.util.logging.FileHandler.limit=1048576
java.util.logging.FileHandler.count=20
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
這個配置文件定義了一個名為 FileHandler
的處理器,它將日志記錄到文件。日志文件的名稱格式為 logging-用戶ID-組ID-時間戳.log
,并且最多可以存儲 1MB 的日志,總共可以存儲 20 個文件??刂婆_處理器(ConsoleHandler
)將日志同時輸出到控制臺。
接下來,在您的 Java 應用程序中使用以下代碼初始化日志記錄器:
import java.util.logging.Logger;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
public class Main {
private static final Logger logger = Logger.getLogger(Main.class.getName());
public static void main(String[] args) {
// 設置日志級別
logger.setLevel(Level.ALL);
// 創建 FileHandler 并設置級別
FileHandler fileHandler = new FileHandler("logging.log", true);
fileHandler.setLevel(Level.ALL);
// 創建 ConsoleHandler 并設置級別
ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setLevel(Level.ALL);
// 獲取日志記錄器的所有處理器
Handler[] handlers = logger.getHandlers();
// 為每個處理器添加 FileHandler 和 ConsoleHandler
for (Handler handler : handlers) {
if (handler instanceof FileHandler) {
handler.setFormatter(new java.util.logging.SimpleFormatter());
} else if (handler instanceof ConsoleHandler) {
handler.setFormatter(new java.util.logging.SimpleFormatter());
}
}
// 將 FileHandler 添加到日志記錄器
logger.addHandler(fileHandler);
}
}
這段代碼將創建一個名為 Main
的類,并在其中初始化一個日志記錄器。它還將創建一個 FileHandler
和一個 ConsoleHandler
,并將它們添加到日志記錄器。最后,它將設置日志級別為 ALL
,以便記錄所有日志消息。
現在,當您運行此 Java 應用程序時,日志消息將同時輸出到控制臺和文件 logging.log
。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。