JUL 日志

news2024/11/29 20:53:46

JUL日志级别

日志分为7个级别,详细信息我们可以在Level类中查看:

  • SEVERE(最高值)- 一般用于代表严重错误
  • WARNING - 一般用于表示某些警告,但是不足以判断为错误
  • INFO (默认级别) - 常规消息
  • CONFIG
  • FINE
  • FINER
  • FINEST(最低值)

Properties配置文件

# RootLogger 的默认处理器为
handlers= java.util.logging.ConsoleHandler
# RootLogger 的默认的日志级别
.level= CONFIG

使用日志处理器

public class Main {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.log(Level.SEVERE, "severe error");
        logger.log(Level.WARNING, "warning");
        logger.log(Level.INFO, "info");
        logger.log(Level.CONFIG, "config");
        logger.log(Level.FINE, "fine");
        logger.log(Level.FINEST,"finest");
    }
}

默认级别低于INFO的不会打印到控制台上

setLevel(Level newLevel):设置日志级别,指定此日志记录器将记录的消息级别。低于此值的消息级别将被丢弃。级别值 Level.OFF 可用于关闭日志记录。Level.ALL表示全部级别日志将被打印

自定义日志处理器级别

public class Main {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger

        logger.setLevel(Level.ALL);          // 设置全部级别日志都打印
        logger.setUseParentHandlers(false);  // 不使用父(默认)日志处理器
        // 使用自定义日志处理器
        ConsoleHandler consoleHandler = new ConsoleHandler();
        consoleHandler.setLevel(Level.ALL);
        logger.addHandler(consoleHandler);

        logger.log(Level.SEVERE, "severe error");
        logger.log(Level.WARNING, "warning");
        logger.log(Level.FINE, "lower than info");
    }
}

文件日志处理器

将日志输出到本地的log文件上

        FileHandler fileHandler = new FileHandler("test.log");
        fileHandler.setLevel(Level.WARNING);
        fileHandler.setFormatter(simpleFormatter);
        logger.addHandler(fileHandler);

但是这样得到的日志格式是xml格式的,使用SimpleFormatter将日志格式化

        SimpleFormatter simpleFormatter = new SimpleFormatter();
        fileHandler.setFormatter(simpleFormatter);

日志过滤

        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.setFilter(record -> false); // lambda

setFilter接收的参数为一个Filter接口

指定某日志输出

        Logger logger = Logger.getLogger(Main.class.getName());  // 获取logger
        logger.setFilter(record -> record.getMessage().equals("hello"));
        logger.info("hello");

开启mybatis日志

mybatis-config.xml中添加:

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32F4X SDIO(六) 例程讲解-SD_PowerON

STM32F4X SDIO&#xff08;六&#xff09; 例程讲解-SD_PowerON 例程讲解-SD_PowerONSDIO引脚初始化和时钟初始化SDIO初始化(单线模式)CMD0:GO_IDLE_STATE命令发送程序命令响应程序 CMD8:SEND_IF_CONDCMD8参数命令发送程序命令响应程序 CMD55:APP_CMDCMD55命令参数命令发送命令…

XCTF-RSA-2:baigeiRSA2、 cr4-poor-rsa

baigeiRSA2 题目描述 import libnum from Crypto.Util import number from functools import reduce from secret import flagn 5 size 64 while True:ps [number.getPrime(size) for _ in range(n)]if len(set(ps)) n:breake 65537 n reduce(lambda x, y: x*y, ps) m …

docker网络管理-网络模式

2.4 网络管理 需要安装sudo apt install bridge-utils Docker 网络很重要&#xff0c;重要的&#xff0c;我们在上面学到的所有东西都依赖于网络才能工作。我们从两个方面来学习网络&#xff1a; 端口映射和网络模式 为什么先学端口映射呢&#xff1f; 在一台主机上学习网络&…

strongswan:configure: error: OpenSSL Crypto library not found

引子 在配置strongswan时&#xff0c;有时会遇到以下错误&#xff08;其实所有需要openssl的软件configure时都有可能遇到该问题&#xff09;&#xff1a; configure: error: OpenSSL Crypto library not found 解决方法 crypto是什么呢? 是OpenSSL 加密库(lib), 这个库需要op…

全局代理和局部代理的区别

在计算机领域中&#xff0c;代理是一种常见的网络技术&#xff0c;它可以帮助用户更好地控制网络访问和数据传输。代理可以分为全局代理和局部代理两种&#xff0c;它们有着不同的作用和适用场景。 一、全局代理 全局代理指的是在系统级别设置的代理&#xff0c;它可以代理所…

Qt控件 UI设计 QPushbutton、QToolButton、QMenu

Qt控件 UI设计 QPushbutton、QToolButton、QMenu 个人设计QToolButton效果设计效果运行效果 Chapter1 Qt控件 UI设计 QPushbutton、QToolButton、QMenu1.QPushbutton和QToolButton的关联和区别&#xff1a;2.QMenu 可以配合QPushbutton做个下拉菜单3.点击按钮的功能&#xff0c…

HTTP/HTTPS、SSL/TLS、WS/WSS 都是什么?

有同学问我&#xff0c;HTTP/HTTPS、SSL/TLS、WS/WSS 这都是些什么&#xff1f;那我们就先从概念说起&#xff1a; HTTP 是超文本传输协议&#xff0c;信息是通过明文传输。HTTPS 是在 HTTP 的基础上信息通过加密后再传输。SSL 是实现 HTTPS 信息传输加密的算法。TLS 是 SSL 的…

PMI-ACP(103:17-)

巩固复习&#xff1a;SCRUM Scrum是目前敏捷项目管理的经典框架&#xff0c;在2020年最新版的《Scrum指南》中&#xff0c;Scrum之父对迭代目标和完成的定义进行了更为清晰的阐释。 在Scrum里比较重要的是Sprint冲刺。一个Sprint长度一般是2&#xff5e;4周&#xff0c;固定&…

数据结构:邻接矩阵与邻接表

模型图 邻接矩阵 用于反应图中任意两点之间的关联&#xff0c;用二维数组表示比较方便 以行坐标为起点&#xff0c;列坐标为终点如果两个点之间有边&#xff0c;那么标记为绿色&#xff0c;如图&#xff1a; 适合表示稠密矩阵 邻接表 用一维数组 链表的形式表示&#xff…

day02-Ant Design以及Ant Design Pro入门

课程简介 ReactJS入门&#xff0c;Model层 Ant Design 入门 Ant Design Pro 入门 1、ReactJS入门 1.1、Model 1.1.1、分层 上图中&#xff0c;左侧是服务端代码的层次结构&#xff0c;由 Controller 、 Service 、 Data Access 三层组成服务端系统&#xff1a; Contro…

一分钟生成PPT,利用人工智能快速提高办公效率(无需第三方插件)

人工智能技术的发展正以惊人的速度改变着我们的世界&#xff0c;今天给大家介绍下利用ChatGPT快速生成PPT的方法&#xff0c;它能够帮助你一键生成PPT内容和漂亮的PPT文档&#xff0c;无需繁琐的设计和排版&#xff0c;只需要与ChatGPT交流&#xff0c;你就能轻松拥有一份令人赞…

社区论坛在线交流网站系统源码+SEO优化 带前后端完整搭建教程

大家好&#xff0c;今天罗峰来给大家分享一款社区论坛在线交流网站系统源码。社区论坛在线交流在当下时时代还是很火的。现在人们对于在线交流和互动的需求不断增加。社区论坛作为一种传统的在线交流方式&#xff0c;仍然有着广泛的市场需求和用户群体。然而&#xff0c;现有的…

redis1之安装redis,启动,常用数据结构

目录 redis安装与启动、常见数据结构 启动 Redis客户端 数据结构与常见的命令 redis的通用命令 String类型的用法 Hash命令的用法 List命令 Set命令 SortedSet类型用法 redis安装与启动、常见数据结构 1&#xff0c;在linux上安装上gcc的依赖&#xff0c;我这里是centos7.6…

为什么边缘计算是能源行业缺失的一环

关键要点 展望未来&#xff0c;边缘计算将使能源部门能够更好地应对不断增长的能源需求的挑战&#xff0c;提高资源利用率&#xff0c;并实现更可持续的能源生态系统。 能源行业正在经历重大变革&#xff0c;因为它面临着许多挑战&#xff0c;例如整合可再生能源、电力需求激增…

thinkPHP5怎么打开页面调试,查看网页运行时间

开启trace 在config.php中找到 ‘app_trace’ > false, 修改为&#xff1a; ‘app_trace’ > true,

中国统计年鉴,覆盖2016-2022年数据,超全数据一览!

今天分享一个超详细中国统计年鉴&#xff0c;覆盖2016-2022年数据&#xff0c;包含多方面数据及指标&#xff0c;需要可自取 网站搜索“citybox城市沙盒”或同名wechat订阅号可自行获取 数据信息&#xff1a; 数据名称: 中国统计年鉴 数据格式: Html、Excel 数据时间: 20…

chromedp库编写程序

步骤1&#xff1a;首先&#xff0c;我们需要导入chromedp库&#xff0c;以便使用它来下载网页内容。 import chromedp 步骤2&#xff1a;然后&#xff0c;我们需要创建一个函数&#xff0c;该函数接受一个URL作为参数&#xff0c;并使用chromedp库下载该URL的内容。 func do…