Java中的log和system兩者的主要功能都是用于程序的輸出,但是它們的使用場(chǎng)景和輸出的方式卻存在著很大的不同。
import java.util.logging.Logger;
public class LogExample {
private static final Logger LOGGER = Logger.getLogger(LogExample.class.getName());
public static void main(String[] args) {
LOGGER.info("This is an info log message");
LOGGER.warning("This is a warning log message");
}
}
Log是一個(gè)庫(kù),而System是一個(gè)類(lèi),它們提供了不同的輸出方式以及輸出內(nèi)容的級(jí)別控制。
Log使用了不同的log級(jí)別來(lái)分類(lèi)不同的信息,從低到高的級(jí)別分別是FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE,用戶可以根據(jù)需要選擇輸出對(duì)應(yīng)級(jí)別的信息。
而System則提供了三個(gè)靜態(tài)成員變量out、in和err。其中,out是用于輸出普通信息,in用于讀取輸入內(nèi)容,err用于輸出錯(cuò)誤信息。
public class SystemExample {
public static void main(String[] args) {
System.out.println("This is a normal out message");
System.err.println("This is an error message");
}
}
需要注意的是,Log可以輸出更詳細(xì)的信息,包括線程和調(diào)用棧,對(duì)于程序的debug和問(wèn)題排查起到了很大的幫助,而System只能簡(jiǎn)單地輸出對(duì)應(yīng)的信息。
因此,通過(guò)合理地使用Log和System,我們可以更好地控制程序的輸出信息和級(jí)別,并對(duì)程序的調(diào)試和問(wèn)題排查提供更好的支持。