Java9的日志级别:

ALL  最低级别,系统会输出所有的日志信息,会生成大量的·、冗余的日志

TRACE  输出系统的各种跟踪信息,会生成大量的·、冗余的日志

DEBUG  输出调试信息,会生成较多的日志

INFO  输出系统提示用户的信息

WARNING  输出警告信息

ERROR  输出错误信息  

OFF  关闭日志输出(不记录日志)

以上级别由低到高。

设置日志级别为某一级时,低于该级别的日志都不会输出,只输出该级别、高于该级别的日志。

示例:

 package test;

 import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger; public class Test{
public static void main(String[] args) throws IOException {
//设置使用a.xml文件保存日志,会在项目的根目录下生成一个a.xml文件来保存日志。也可指定其他目录。
// "fkjava"是特定的字符串。
Logger.getLogger("fkjava").addHandler(new FileHandler("a.xml"));
//设置日志级别为WARNING,低于WARNING的日志都会被忽略
Logger.getLogger("fkjava").setLevel(Level.WARNING);
//使用System的静态方法获取System.Logger对象,用于输出日志
System.Logger logger=System.getLogger("fkjava");
//输出一条日志,第一个参数设置此条日志的级别,第二个参数为String,设置要输出的日志信息。
// 由于DEBUG低于设置的WARNING,所以此条日志会被忽略(不会被输出到a.xml文件)
logger.log(System.Logger.Level.DEBUG,"debug信息");
//debug、run时,会在控制台输出此条日志,“警告:warning信息",冒号后面是第二个参数的内容
//同时会输出此条日志到a.xml文件中
logger.log(System.Logger.Level.WARNING,"warning信息");
logger.log(System.Logger.Level.ERROR,"error信息");
}
}

debug/run,控制台输出如下:

D:\jdk-12.0.\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:,suspend=y,server=n -javaagent:C:\Users\chy\.IntelliJIdea2019.\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF- -classpath "D:\疯狂Java讲义\untitled\out\production\untitled;C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.1\lib\idea_rt.jar" test.Test
Connected to the target VM, address: '127.0.0.1:52275', transport: 'socket'
Java HotSpot(TM) -Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
5月 , :: 上午 test.Test main
警告: warning信息
5月 , :: 上午 test.Test main
严重: error信息
Disconnected from the target VM, address: '127.0.0.1:52275', transport: 'socket' Process finished with exit code

a.xml文件记录的日志如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2019-05-13T18:20:35.025273100Z</date>
<millis>1557771635025</millis>
<nanos>273100</nanos>
<sequence>0</sequence>
<logger>fkjava</logger>
<level>WARNING</level>
<class>test.Test</class>
<method>main</method>
<thread>1</thread>
<message>warning信息</message>
</record>
<record>
<date>2019-05-13T18:20:35.164415700Z</date>
<millis>1557771635164</millis>
<nanos>415700</nanos>
<sequence>1</sequence>
<logger>fkjava</logger>
<level>SEVERE</level>
<class>test.Test</class>
<method>main</method>
<thread>1</thread>
<message>error信息</message>
</record>
</log>

日志根元素为<log>

一条日志的根元素为<record>

日志登记为<level>

日志信息为<message>

Java 记录日志的更多相关文章

  1. top 10 tipis on Logging in Java- Tutorial (翻译)

    开篇废话,就记得出国之前有一回腾讯面试,面试官说既然你都快要出国了,英语肯定挺不错的,那为什么不去翻译一些国外好的文章呢,我希望找一个能主动学习的人,一直受教.目前在实习,需要做大数据相关方向,都是挺 ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. JAVA - 优雅的记录日志(log4j实战篇)

    写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...

  4. Java系列:《Java核心技术 卷一》学习笔记,chapter11 记录日志

    11.5 日志记录 可以通过Loger.getGlobal().info(xxxx);的方式来记录log. 11.5.2 高级日志 1)通过一个包名来 创建一个新的日志记录器. private sta ...

  5. (JAVA)从零开始之--打印流PrintStream记录日志文件

    这里的记录日志是利用打印流来实现的. 文本信息中的内容为String类型.而像文件中写入数据,我们经常用到的还有文件输出流对象FileOutputStream. File file = new Fil ...

  6. JAVA - 优雅的记录日志(log4j实战篇) (转)

    写在前面 项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式 ...

  7. JAVA中使用LOG4J记录日志(转)

    在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日 ...

  8. Java项目中使用log记录日志的一些总结

    本文介绍了一下自己在Java项目中使用log的一些总结,从日志的作用.日志的选用.日志级别介绍.日志记录的一些最佳实践几个方面阐述. 日志的作用 主要作用包括: 1.出问题后定位当时问题 2.显示程序 ...

  9. JAVA中使用LOG4J记录日志

    在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日 ...

随机推荐

  1. Centos6.5_64位系统下安装Oracle 11g

    一.硬件要求 1.内存与Sweap:内存2G(以上),Sweap 2G(以上) 内存: 1-2G 2-16G 16G以上 Sweap: 1.5倍内存 1倍内存 16G 检查:# grep MemTot ...

  2. 【总结整理】javascript进阶学习(慕课网)

    数组 数组是一个值的集合,每个值都有一个索引号,从0开始,每个索引都有一个相应的值,根据需要添加更多数值. 二维数组 二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: ...

  3. Hadoop的namenode和secondnamenode分开部署在不同服务器

    一.系统环境:  Hadoop 0.20.2.JDK 1.6.Linux操作系统 二.使用背景  网上关于Hadoop的集群配置,很多情况下,都是把namenode和secondnamenode部署在 ...

  4. 6.5 系统打开缓慢,怎么办?---更新Ubuntu系统

    早早的来公司打开电脑,希望看到Ubuntu能启动成功.可是,当我重启后,使用Ubuntu系统,打开界面速度非常慢,当时,又怀疑自己安装出错了.而且,6.2日Ubuntu系统的工作日志又没了.无奈,我把 ...

  5. C# -- 继承规则

    例子1--C#继承的常见问题: using System; using System.Collections.Generic; using System.Linq; using System.Text ...

  6. Asp.Net 遍历 循环 显示所有COOKIS,SESSION,Applocation

    在C#中循环显示SESSIOn: Response.Write("<br>Session的所有值:<br>"); foreach (string obj i ...

  7. Golang : cobra 包解析

    笔者在<Golang : cobra 包简介>一文中简要的介绍了 cobra 包及其基本的用法,本文我们从代码的角度来了解下 cobra 的核心逻辑. Command 结构体 Comman ...

  8. c#中ToString("yyyyMMdd") 与ToString("yyyymmdd")区别

    string a= DateTime.Now.ToString("yyyyMMdd") ; string b=DateTime.Now.ToString("yyyymmd ...

  9. 没有找零 状压dp

    没有找零 状压dp 约翰到商场购物,他的钱包里有K(1 <= K <= 16)个硬币,面值的范围是1..100,000,000.约翰想按顺序买 N个物品(1 <= N <= 1 ...

  10. 1、gitlab的理论知识

    2.1 svn与git对比 . svn git 分布式 不是 是 在线阅读 不支持 不仅支持,而且可以在线编辑 存储方式 按文件 按元数据 完整性 一般 优 离线工作 日志都没法看 完全没问题 分支 ...