log4j在eclipse上使用简介
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
那么,我们应该如何配置和使用log4j呢?
<1>首先,我们要配置jar包,通过搜索引擎搜索log4j maven,保存进pom.xml即可
<2>配置文件,通常将log4j.properties放置到src目录下,, log4j.properties代码样式如下:
log4j.rootCategory=DEBUG, file, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d-[TS] %p %t %c - %m%nlog4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=target/test.log
log4j.appender.file.MaxFileSize=5120KB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n##SPRING改为WARN级别
log4j.logger.org.springframework=DEBUG
log4j.logger.org.mybatis=WARN
log4j.logger.org.apache.velocity=WARN
log4j.logger.org.apache.commons=WARN##显示SQL语句部分,生产环境请调整为ERROR
log4j.logger.com.mybatis=DEBUG
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
<3>配置好了log4j,我们接下来分享一下它要如何使用。首先,我们要了解log4j的三大组件:
Logger(日志类别):
Appender(日志输出目的地)
Layout(格式化输出日志信息)
1,对于logger,log4j提供四种级别,从低到高分别是DEBUG、INFO、WARN、ERROR 、FATAL。我们可以通过更改log4j.properties中的属性来对输出级别进行设置
log4j.rootCategory=DEBUG, file, stdout//例如,设置级别为debug
当我们设置好一个级别之后,比该级别低的日志信息将不会再显示,log4j只会显示和设置级别一样或者比日志级别高的信息
2,对于Appender,Appender可以控制日志输出的目的地。
log4j.appender.appenderName = 属性值
属性值可以设置成以下几种,每种都是不同的日志输出方式
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
如果想具体的设置日志输出属性,比如路径,日志文件的大小…可以通过自定义的appenderName.option来设置
log4j.appender.appenderName.option1 = value
3,Layout(格式化输出日志信息),Layout可以控制输出信息的格式,用法类似于C语言中scanf,prinf的参数
log4j.appender.appenderName.layout = 属性值
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)log4j.appender.appenderName.layout.option1 = value1
ConversionPattern (举例:%d-[ZZXTIT] %p %t %c - %m%n)
每个字符都有独特的含义,下面是字符含义表
- %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%%: 输出一个”%”字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行
现在,我们可以具体的使用log4j了
private final Log log=LogFactory.getLog(LoginFilter.class);
因为我们输出的日志信息不希望被修改,我们可以将其设置为final,在getlog中传入当前类的类名(不错,我在做过滤器…)之后,使用对象名点方法名即可输出日志信息
log.debug("这是一条debug信息");
这样,日志信息就成功输出了
log4j在eclipse上使用简介相关推荐
- Eclipse入门-- Eclipse的使用简介及插件开发
Eclipse入门-- Eclipse的使用简介及插件开发 内容: 一.Eclipse简介 1.文件存放 2.Eclipse开发环境 3.编译与运行 4.版本管理 5.使用插件 二.开发E ...
- [转载]Eclipse开发工具简介
Eclipse开发工具简介 Eclipse是开放源代码的项目,你可以到www.eclipse.org去 免费下载Eclipse的最新版本,一般Eclipse提供几个下载版本:Release,Stabl ...
- eclipse上搭建MyBatis环境
在eclipse上搭建了MyBatis运行环境,并实现基本查询操作 第一步:数据库准备: 1.创建数据库表 user_information 2.向表中插入一些记录 第二步:建立Java项目命名为My ...
- maven如何在eclipse上加载
maven如何在eclipse上安装和使用 maven是Apache旗下的定级开源工具,在项目管理方面有强大的能力.Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven ...
- java cell报错_有一个小小点问题,现在我想从eclipse上读取Excel表
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有一个小小点问题,现在我想从eclipse上读取Excel表,但是sheet的方法getcell报错,请问这是哪儿的错呢?谢谢 源码及报错图片如下: pa ...
- android dtb文件位置_android MSM8974 上DeviceTree简介
简介 主要功能是不在代码中硬编码设备信息,而是用专门的文件来描述.整个系统的设备节点会形成一个树,设备节点里可以设置属性.官网在http://www.devicetree.org .入门指南请参考ht ...
- 在Eclipse上搭建Android C开发环境
1.需要准备的工具和软件 JDK eclipse indigo(我下载的是indigo的C/C++开发版) ADT12.0(当然下最新的ADT了,免得有太多的麻烦.) Android SDK Andr ...
- Eclipse上安装GIT插件EGit及使用
一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...
- IDE之EcliPse:EcliPse软件的简介、安装、入门、使用方法之详细攻略
IDE之EcliPse:EcliPse软件的简介.安装.入门.使用方法之详细攻略 目录 EcliPse软件的简介 Eclipse特点 EcliPse软件的安装 EcliPse软件的入门 1.快捷键集合
最新文章
- Adobe源码泄漏?3行代码搞定,Flash动画无缝导入Android/iOS/cocos2dx(一)
- Android面试知识点(转)
- UVA 315 :Network (无向图求割顶)
- camelot工具进行pdf表格解析重建
- MFC ComboBox
- python下载百度网盘文件-python通过百度云api的方式上传或下载文件
- 大型分布式网站术语分析 15 条,你知道几条?
- wps中的相交_【研途技能贴】| WPS里的布尔运算
- python写入数据库_Python pymysql写入数据库报错
- 关于Keychain
- docker常用参数详解,docker run常用参数详解(精)
- HbuliderX + vue项目(初始化创建) - 准备篇
- Java开源工作流框架对比
- 基于Java的Cplex入门
- ROS实战篇(一)如何在ROS中编写自己的package?------ 以节点通信为例
- 用C#写经理评分系统
- 下列哪个网站还未推出微博服务器,新浪微博笔试题与答案
- 【阅读笔记】量子信息
- linux系统清理命令行,快速解决Win10系统升级助手打不开无法运行的方法
- cdn刷新api_CDN页面刷新接口定义[高升]