public class LoggerTester1 {
public static void main(String[] args) {
Logger myLogger = Logger.getLogger("mylogger"); //得到一个日志记录器对象
myLogger.setLevel(Level.WARNING); //设置WARNING日志级别
myLogger.info("这是一条普通的提示信息");//生成INFO级别的日志
myLogger.warning("这是一条警告信息"); //生成WARNING级别的日志
myLogger.severe("这是一条严重错误信息"); //生成SEVERE级别的日志
}
}
程序输出
2月 22, 2022 7:21:05 上午 chapt9Exception.LoggerTester1 main
警告: 这是一条警告信息
2月 22, 2022 7:21:05 上午 chapt9Exception.LoggerTester1 main
严重: 这是一条严重错误信息
public class LoggerTest2 {
public static void main(String[] args) throws IOException {
Logger myLogger = Logger.getLogger("mylogger");//得到一个日志记录器对象
//创建FileHandler对象,它向指定的文件中写日志
FileHandler fileHandler = new FileHandler("C:\\test.log");
fileHandler.setLevel(Level.INFO); //设定向文件中写日志的级别
myLogger.addHandler(fileHandler); //把FileHandler与Logger对象关联
myLogger.info("这是一条普通的提示信息");//生成INFO级别的日志
myLogger.warning("这是一条警告信息"); //生成WARNING级别的日志
myLogger.severe("这是一条严重错误信息"); //生成SEVERE级别的日志
}
}
程序输出
2月 22, 2022 7:21:56 上午 chapt9Exception.LoggerTest2 main
信息: 这是一条普通的提示信息
2月 22, 2022 7:21:56 上午 chapt9Exception.LoggerTest2 main
警告: 这是一条警告信息
2月 22, 2022 7:21:56 上午 chapt9Exception.LoggerTest2 main
严重: 这是一条严重错误信息
test.log中的内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2022-02-21T23:21:56.016935400Z</date>
<millis>1645485716016</millis>
<nanos>935400</nanos>
<sequence>0</sequence>
<logger>mylogger</logger>
<level>INFO</level>
<class>chapt9Exception.LoggerTest2</class>
<method>main</method>
<thread>1</thread>
<message>这是一条普通的提示信息</message>
</record>
<record>
<date>2022-02-21T23:21:56.098873Z</date>
<millis>1645485716098</millis>
<nanos>873000</nanos>
<sequence>1</sequence>
<logger>mylogger</logger>
<level>WARNING</level>
<class>chapt9Exception.LoggerTest2</class>
<method>main</method>
<thread>1</thread>
<message>这是一条警告信息</message>
</record>
<record>
<date>2022-02-21T23:21:56.099872900Z</date>
<millis>1645485716099</millis>
<nanos>872900</nanos>
<sequence>2</sequence>
<logger>mylogger</logger>
<level>SEVERE</level>
<class>chapt9Exception.LoggerTest2</class>
<method>main</method>
<thread>1</thread>
<message>这是一条严重错误信息</message>
</record>
</log>
public class LoggerTester3 {
static class MYFormatter extends Formatter { //自定义的日志输出格式类
@Override
public String format(LogRecord record) {
return "<"+record.getLevel()+">:"+record.getMessage()+"\n";
}
}
public static void main(String[] args) throws IOException {
Logger myLogger = Logger.getLogger("mylogger");//得到一个日志记录器对象
//创建FileHandler对象,它向指定的文件中写日志
FileHandler fileHandler = new FileHandler("C:\\test.log");
fileHandler.setLevel(Level.INFO); //设定向文件中写日志的级别
fileHandler.setFormatter(new MYFormatter()); //设置自定义的日志的输出格式
myLogger.addHandler(fileHandler); //把FileHandler与Logger对象关联
myLogger.info("这是一条普通的提示信息");//生成INFO级别的日志
myLogger.warning("这是一条警告信息"); //生成WARNING级别的日志
myLogger.severe("这是一条严重错误信息"); //生成SEVERE级别的日志
}
}
程序输出
2月 22, 2022 7:23:41 上午 chapt9Exception.LoggerTester3 main
信息: 这是一条普通的提示信息
2月 22, 2022 7:23:41 上午 chapt9Exception.LoggerTester3 main
警告: 这是一条警告信息
2月 22, 2022 7:23:41 上午 chapt9Exception.LoggerTester3 main
严重: 这是一条严重错误信息
test.log文件中的内容
<INFO>:这是一条普通的提示信息
<WARNING>:这是一条警告信息
<SEVERE>:这是一条严重错误信息