log4j日志框架的使用
java.util.logging.Logger——java 中提供的日志类
实际开发 90% 都是使用 log4j 记录日志,而 Log4j 底层就是 java.util.logging.Logger 实现的
Log4j 是一个日志输出框架,就是用于输出日志的。Mybatis 的日志输出是通过 Log4j 输出的。主流框架大部分都是 Log4j 输出的。Spring 框架也可以通过 Log4j 输出日志
作用:
1、项目部署之后,出现的任何异常都可以通过 Logger 记录到一个指定的日志文件中去,便于项目维护,遇到什么问题可以翻日志文件
2、在开发的过程中,使用Logger框架,可以非常清晰的看到项目发布以及运行过程中的日志信息,比如用户发送了什么请求,服务器发送了什么SQL语句,程序员在后台都可以看得清清楚楚
虽然 Log4j 功能类似 System.out.println(),Log4j 提供了强大的日志输出的自定义功能:1. 通过级别输出日志 (调试、信息、警告、错误、致命异常),2. 可以指定输出到控制台,以及输出到文件,3. 可以设置输出的日志格式
简单使用流程:
1、导入包
,因为是 SE 项目所以要手动 Build Path
2、在 src 下创建一个 log4j.propertis 文件
,注意:文件名必须为 log4j.properties
3、按自己需求来输入参数
4、在新建一个测试类
再建一个 Logger 对象
5、写入用于测试的代码
,然后 try catch 捕获异常再用 Logger 对应的方法输出
6、开始测试并查看结果
7、输出日志文件
8、完毕。。。
log4j日志框架的使用的更多相关文章
- Slf4j+Log4j日志框架入门
(一).日志系统介绍 slf4j,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统.简答的讲就是slf4j是一系列的 ...
- Log4j日志框架小记
人啊,总是在学习中发现不足,不足中学习,学习中成长. 今天来系统记录一下对于常用日志组件的理解.配置.使用. 仅供参考, 错误之处请各路好汉不吝笔墨批评指正. 转载请注明出处 Log4j日志框架是Ap ...
- SpringBoot系列之切换log4j日志框架
SpringBoot系列之使用切换log4j日志框架 ok,在pom文件右键->Diagrams->show Dependencies....,如图,找到spring-boot-start ...
- 一、log4j日志框架的理论和不同场景使用
1.日志框架: 工作中要进行Java输出日志时,你需要一个或者多个日志框架.框架能提供对象.方法和必要的配置来发送日志信息.Java语言本身有自带的日志实现包java.util.logging.还有很 ...
- log4j日志框架学习
初识Log4j: log4j有三个部分: 1.loggers 负责捕获日志信息. 2.appenders 负责输出信息到不同的目的地 ...
- Spring源码学习:第2步--使用SLF4j+Log4j日志框架替换掉其自身的commons-logging日志框架
正如Spring官方文档所述,其底层的实现选择了commons-logging作为日志框架.这一"失足"性的选择,竟连Spring自身都抱怨.但是,谁叫Spring如此优秀呢,即使 ...
- Log4j日志框架学习零到壹(一)
日志是系统开发过程中用于排查问题重要的记录.通常使用日志来记录系统运行的行为,什么时间点发生了什么 事情.Java中常用的莫过于Log4j框架了.下面主要围绕Log4j的基础知识.Log4j的使用方式 ...
- SpringBoot整合log4j日志框架
Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback. 加入修改依赖 <dependency> <groupId>org ...
- log4J日志框架
log4j的配置:log4j是一个日志输出框架,就是用于输出日志的,主流框架大部分都是Log4j输出.Spring框架也可以通过Log4j输出日志 Log4j提供了强大的日志输出的自定义功能(1)通过 ...
随机推荐
- 浅谈URL跳转与Webview安全
学习信息安全技术的过程中,用开阔的眼光看待安全问题会得到不同的结论. 在一次测试中我用Burpsuite搜索了关键词url找到了某处url,测试一下发现waf拦截了指向外域的请求,于是开始尝试绕过.第 ...
- 为什么range不是迭代器?range到底是什么类型?
迭代器是 23 种设计模式中最常用的一种(之一),在 Python 中随处可见它的身影,我们经常用到它,但是却不一定意识到它的存在.在关于迭代器的系列文章中(链接见文末),我至少提到了 23 种生成迭 ...
- 入门系列之在Ubuntu 16.04使用Buildbot建立持续集成系统
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由angel_郁发表于云+社区专栏 介绍 Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布过程. 在 ...
- 工程文件csproj使用编译条件指定属性
csproj工程文件中有很多xml格式的属性,比如PropertyGroup.ItemGroup,某些属性操作默认是全部的或者是当前编译条件的而已,当我们想指定某些属性只在某个编译条件下发生时就可以通 ...
- vue 使用 supermap iclient-classic
1. 2.在组件中: import "@supermap/iclient-classic/libs/SuperMap-8.1.1-16520"; import { MapVLaye ...
- JavaScript 中的四舍五入
在 JavaScript 中,对数值进行四舍五入操作的场景有以下几种: 向上取整:ceil 向下取整:floor 四舍五入:round 固定精度:toFixed 固定长度:toPrecision 取整 ...
- 页面结构化在 Android 上的尝试
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/M45DM5Ix7a2fmrsE8VPvxg 作者:b ...
- 【Python实践-2】求一个或多个数的乘积
# -*- coding: utf-8 -*- #定义一个函数,可接收一个或多个数并计算乘积 def product(*numbers): s=1 for n in numbers: s=s*n re ...
- 从壹开始前后端分离 [ Vue2.0+.NetCore2.1] 二十六║Client渲染、Server渲染知多少{补充}
前言 书接上文,昨天简单的说到了 SSR 服务端渲染的相关内容<二十五║初探SSR服务端渲染>,主要说明了相关概念,以及为什么使用等,昨天的一个小栗子因为时间问题,没有好好的给大家铺开来讲 ...
- .NET Core TDD 前传: 编写易于测试的代码 -- 单一职责
第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 第3篇, 依赖项和迪米特法则. 第4篇 ...