❶ java log打印的日志会在控制台输出吗
会的啊
编写log4j.properties文件,配置日志信息
### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender//日志信息将写到控制台
log4j.appender.stdout.Target=System.out//信息打印到System.out上
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n//指定输出格式:显示日期和log信息
### 把日志信息输出到文件:accp.log ###
log4j.appender.file=org.apache.log4j.FileAppender//日志信息将写到文件中
log4j.appender.file.File=accp.log//指定日志输出的文件名
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n//指定输出格式:显示日期,日志发生位置和日志信息
### 设置优先级别、以及输出源 ###
log4j.rootLogger=debug, stdout, file//设置优先级别为debug、
日志被输出到多个输出源
注:优先级从高到低分别是ERROR、WARN、INFO、DEBUG
在此处,如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出
❷ java重定向标准输出流到当前目录的log.txt文件,并输出如下语句:
packagecom.kidd.atmtest;
importjava.io.FileNotFoundException;
importjava.io.PrintStream;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassTest{
publicstaticvoidmain(String[]args)throwsFileNotFoundException{
System.out.println("log.txt文件位置:"
+Thread.currentThread().getContextClassLoader()
.getResource("log.txt").getFile());
System.setOut(newPrintStream(Thread.currentThread()
.getContextClassLoader().getResource("log.txt").getFile()));
System.out.println("Thisisalogfile.");
System.out
.println("****************************************************");
System.out.println("Time:"
+newSimpleDateFormat("yyyy.MM.ddHH:mm:ss")
.format(newDate()));
System.out.println("Nowsystemisrunningwell.");
System.out.println("MynameisTest.");
}
}