log4j日志输出框架
什么是log4j框架呢?
log4j是一个日志输出框架,用于输出日志的。比如MyBatis的日志就是通过log4j输出的,主流框架都是log4j输出的,Spring框架
也可以通过log4j输出日志!!
log4j的功能类似于System.out.println(),那为什么要用log4j呢?
因为它提供了强大的日志输出的自定义功能。
1.通过及级别输出日志(调试DEBUG、信息INFO、警告WRAN、错误ERROR、致命错误FATAL)
2.可以指定输入到控制台,输入到文件。
3.可以设置输出的日志格式
log4j框架的配置及测试代码
1.导入log4j的jar包
2.在src下创建一个log4j.propertis文件
注意:文件名必须为log4j.propertis
#log4j的声明,格式为:log4j.rootLogger=输出等级,输出策略名1,输出策略名2,输出策略名3....
##输出日志等级选项
##DEBUG 调试输出日志
##INFO 信息输出日志
##WARN 警告输出日志
##ERROR 错误输出日志
##FATAL 致命错误输出日志
log4j.rootLogger=DEBUG,A1,A2,A3 #A1策略的声明
##指定输出的类型(类全限制名),ConsoleAppender表示控制台输出
##ConsoleAppender 控制台输出
##FileAppender 通过文件输出
##DailyRollingFileAppender 以文件输出,每天产生一个日志文件
##RollingFileAppender 以指定的大小来产生一个日志文件
##WriterAppender 以流的方式输出文件到指定的设备 log4j.appender.A1=org.apache.log4j.ConsoleAppender
##指定该类型的一些属性,layout,值的是使用声明格式输出
##PatternLayout,自定义输出日志的格式
##HTMLLayout ,使用HTML文件输出
##SimpleLayout ,包含日志信息的级别和信息字符串
##TTCCLayout ,包含日志产生的时间、线程、类别等等信息
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
##设置自定义的输出格式规则
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A2策略的声明
log4j.appender.A2=org.apache.log4j.FileAppender
##创建文件路径
log4j.appender.A2.file=e:/log/lo4j.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n #A3策略的声明
log4j.appender.A3=org.apache.log4j.FileAppender
log4j.appender.A3.file=e:/log/lo4j.html
log4j.appender.A3.layout=org.apache.log4j.HTMLLayout
测试代码:
package cn.sebb; import org.apache.log4j.LogManager;
import org.apache.log4j.Logger; public class Log4jTest { public static void main(String[] args) {
//获得Logger对象,输出日志,LogManager对象默认获得的配置文件是classpath根目录的log4j.properties文件
//日志的级别:DEBUG < INFO < WARN < ERROR < FATAL
//日志输出,根据配置的最低级别输出
Logger logger=LogManager.getLogger(Log4jTest.class);
//什么时候写debug,当我们需要通过调试信息分析逻辑时,将调试信息写在DEBUG级别里面
logger.debug("调试日志");
//什么时候写info,希望在试运行的时候,输出的调试信息
logger.info("信息日志");
//代码可以会出现问题的地方,设置警告日志
logger.warn("警告日志");
//报异常的时候,我们使用错误日志
logger.error("错误日志");
//特别重要的错误信息
logger.fatal("致命错误日志");
} }
log4j日志输出框架的更多相关文章
- log4j日志输出级别变更
1. 现阶段log4j日志输出配置 示例:基础服务日志配置 #DEBUG < INFO < WARN < ERROR < FATAL\u65E5\u5FD7\u7684\u ...
- 在android中配置 slf4j + log4j 日志记录框架
需求: 在项目开发中,需要记录 操作日志 .起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题. 实现: 考虑使用 slf4j + log4j ...
- web项目Log4j日志输出路径配置问题
问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文件夹下进行区分查看每个实例日志,要求通过尽 ...
- log4j日志输出到web项目指定文件夹
感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导 ...
- log4j日志输出使用教程
Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地以及日志信息的输出格式.Log4j除了可以记录程序运行日志信息外还有一 ...
- log4j日志输出性能优化-缓存、异步
转载 1.log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位.由于日志级别的不同,对系 ...
- log4j日志输出到日志文件中和控制台中 +log4j配置详解
1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 , ...
- log4j日志输出使用_1
转自https://www.cnblogs.com/sky230/p/5759831.html Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优 ...
- iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)
CocoaLumberjack是Mac和iOS上一个集快捷.简单.强大和灵活于一身的日志框架.XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话, ...
随机推荐
- oracle查看执行最慢与查询次数最多的sql语句
前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致.如果执行频 ...
- NOIP2018旅行
这道题考场上的时候暴力写RE了,我果然很菜. 看了一篇大佬的的题解才明白 dalao的题解 但是解释很少哇,为了造福人类,在下发一篇详细一点的题解. 预处理:用vector把与每个点相连的点存起来,排 ...
- Emacs Org-mode 1 下载、安装、基本使用
1.1 总述 Org 是一种帮助我们做笔记.日常事件或者项目计划的快速高效的文本格式系统. Org 有以下特点: Org mode 基于组织结构(outline-mode)对文本进行组织.具有良好的快 ...
- C/C++中const关键字的用法及其与宏常量的比较
1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性. 即它所修饰的变量不能被修改. 2.修饰局部变量 ; ; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用c ...
- python第10天(下)
https://www.cnblogs.com/zingp/p/6863170.html 一:IO模型介绍 IO发生时涉及的对象和步骤 对于一个网络IO(network IO),它会涉及到两个系统对 ...
- 办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL
办公用品管理系统VB——库存数量导出EXCEL,SaveEXCEL 总体来说,VB的EXCEL导出效率还是蛮低的,就是一个小型化的办公用品管理软件,不再优化了. 时间紧迫,就没有从头到尾的用C#编写, ...
- RabbitMQ 消息队列 二
一:查看MQ的用户角色 rabbitmqctl list_users 二:添加新的角色,并授予权限 rabbitmqctl add_user xiaoyao 123456 rabbitmqctl se ...
- WPF中的逻辑树和可视化树
WPF中的逻辑树是指XAML元素级别的嵌套关系,逻辑树中的节点对应着XAML中的元素. 为了方便地自定义控件模板,WPF在逻辑树的基础上进一步细化,形成了一个“可视化树(Visual Tree)”,树 ...
- iOS之UIApplicatio、AppDelegate
UIApplication,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是[UIApplication sharedApplication]来得到一个实例. 这个单例实例是 ...
- Oracle做insert或者update时未提交事务导致表锁定解决办法
//查看被锁定表有几个 select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$sessi ...