一、Log4j是什么?

Log4j是Apache的一个开源代码项目,通过使用Log4j,我们可以控制日志信息输出的目的地。最常见的就是输出到控制台或者日志文件。同时,它强大的一点是可以在C、C++等其他程序中使用,只要有相关的接口包即可。

二、如何在Java环境下配置Log4j?

网上的好多做法要么照本宣科,解释的太繁琐,要么太简略,让人不得要领,其实步骤非常简单。

Log4j支持两种配置文件格式:XML、Log4j.properties.

我习惯选择后者。

一般只要将该文件放在项目的根目录下即可。

在项目中使用log,只需要导入一个叫log4j-XXXX(版本号).jar的包即可。

具体导入方法:选中项目,右键-属性-build path-libraries-add external jars,然后选择包即可。

下载此包,可以到此网址上下载http://logging.apache.org/log4j/2.x/download.html,也可以在本文附件中下载。

至此,可以说,环境已经配置好了,如图:

三、怎么使用log4j?

在使用的类文件中导入下图用红线标出来的包。

然后通过一条指令,获得该logger对象:

Private static Logger logger = Logger.getLogger(类名.class));

然后你就可以在需要log的地方,打印输出就行了,比如:

Logger.info(XXXXXXX);

Logger.debug(XXXXXXX);

接下来的问题就是怎么能使信息输出到不同的地方呢?

这就是前面的Log4j.properties的作用了。

Log4j有三个组件:Loggers—记录器,Appenders---输出源,Layouts---布局

通俗点讲就是日志是什么类别的,日志要输出到哪里,日志是什么样的形式。

Log4j.rootLogger = [level], appenderName,appenderName,…….

Level  为记录的优先级:OFF, FATAL, ERROR, WARN,INFO,DEBUG,ALL或者自定义。

Log4j建议只使用四个级别,从高到低分别为:ERROR, WARN, INFO, DEBUG.

比如定义了INFO级别,只有高于或者等于这个级别的才进行处理,而DEBUG级别的信息将不被打印出来。OFF,关闭所有的日志输出。

appenderName 是指定日志输出到那个地方。

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender ---控制台

org.apache.log4j.FileAppender---文件

org.apache.log4j.DailyRollingFileAppender----每天产生一个日志文件

还有一些其他的方式,常用的大概就是以上三种。

例如:

Log4j.appender.stdout= org.apache.log4j.ConsoleAppender

就是将信息输出到控制台。

这里给出我的一个示例配置文件:

容易分析:

我要将DEBUG级别以下的信息打印出来,不过就属他级别最低。

A1负责指定到控制台,D负责指定到F://logs/log.log这个文件中。
后面的那个Append=true代表追加,如果是false的话,再次运行程序的调试信息会将其覆盖。

结果如图:

Java log4j的环境搭建的更多相关文章

  1. java+eclipse+selenium环境搭建

    这几天在学selenium,大头虾的我.安装环境还是遇到了挺多问题,赶紧来记录下.不然下次又...(参考虫师的<Selenium2 Java自动化测试实战>),就随便写写加深下自己的印象. ...

  2. (转载)JAVA敏捷开发环境搭建

    整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...

  3. Java基本开发环境搭建(适合第一次使用)

    Java基本开发环境搭建(适合第一次使用) 编写人:cc 阿爸 2013-10-17 一.开发工具获取 1.开发工具包JDK l  下载地址: 到ORACLE公司官方网站(http://www.ora ...

  4. Java初认识--环境搭建及基本数据类型

    一.JAVA语言的环境搭建 1.JRE(Java Runtime Environment):Java运行环境. 它包括Java虚拟机和Java程序所需的核心类库等. 2.JDK(Java Develo ...

  5. java+tomcat开发环境搭建

    java+tomcat开发环境搭建 一.jdk环境变量设置 ...........这里省略n个字............. 二.tomcat环境变量设置 安装好tomcat后 1.新建环境变量: CA ...

  6. Notes 20180507 : Java程序设计之环境搭建与HelloWord

    3 HelloWorld 不管从事什么工作那么一个工作环境总是必不可少的,那怕你只是要写篇文章,一张平坦的书桌和流利的书写笔总是能帮助我们完成工作的,Java开发更是如此.在开始今天的HelloWor ...

  7. JAVA WEB开发环境搭建

    JAVA WED开发环境搭建 JDK的安装和配置 到https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21 ...

  8. java项目测试环境搭建

    java项目测试环境搭建 2019-03-06 13:45:26 木瓜小少年 阅读数 691更多 分类专栏: 测试   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原 ...

  9. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

随机推荐

  1. 在美国公司架构中,LLC、LLP 和 Corporation 的区别何在?

    这个问题,首先需要弄清楚这样一个事实:LLC.LLP.Corporation分别属于三种不同类型的公司实体. 1,LLC (Limited Liability Company)是责任有限公司: 2,L ...

  2. iOS控制器的创建方式

    iOS控制器的创建.除了常见的alloc init外还有通过加载storyboard和xib的方式,下边逐一展开: 1.代码alloc init 创建方式 ViewController *vc= [[ ...

  3. C++ primer学习记录(个人猜想未测试版本)

    学习版本:第五版. 本博文主要记录个人曾经并不知晓知识细节. 因为linux下的编译环境还未进行学习.所以实际代码测试将在今后完成. 红色:需确认. 蓝色:重点. 1)const对象设定为仅在文件内有 ...

  4. SFTP信任公钥配置及JSCH库

    1.SFTP信用公钥配置 1.1 客户端生成密钥对 以DSA举例: ssh-keygen –t dsa 执行该命令后,在home/用户名/.ssh目录下,会生成id_dsa和id_dsa.pub两个文 ...

  5. css3弹性盒模型(Flexbox)

    Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flexbox布局的主体思想是似的元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当 ...

  6. Update与Mysql、Sqlsever中的随机数

    批量修改数据库中的字段为随机数时 Mysql中的写法: )--取1-50的随机数 Sqlsever中的写法: update t set col=ABS(CHECKSUM(NEWID()))%50+1 ...

  7. Mvc中使用MvcSiteMapProvider实现站点地图之基础篇

    MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生 ...

  8. 用JavaScript将数字转换为大写金额

    var digitUppercase = function(n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', '叁', '肆', ...

  9. TCP和HTTP

    TCP和HTTP 2013-11-01 11:29 6564人阅读 评论(2) 收藏 举报 分类: 计算机—杂七杂八(15) 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议, ...

  10. 10453 Make Palindrome (dp)

    Problem A Make Palindrome Input: standard input Output: standard output Time Limit: 8 seconds By def ...