看了比较多的文档和博客,感觉这篇博客写得比较好,比较容易懂,先 mark 一下,回头做一个记录。

文章1:http://www.cnblogs.com/rushoooooo/archive/2011/08/29/2157361.html

文章2:http://www.iteye.com/topic/378077

写这样一个小例子,是为了避免大家对 log4j 望而生畏。

log4j这种东西,个人觉得 Java 初学者不需要了解太多太深入,会用就可以了。但是就是在使用的过程中,配置的时候会遇到种种的问题。以下结合了我个人在使用 log4j 的过程中总结出的一个 HelloWorld 的例子。供大家参考。

使用 log4j 应把握以下几点:

1、日志级别是可以配置的,通过配置日志级别可以控制日志的输出,用在最多的地方就是可以控制调试信息是否输出上;

2、使用 logger.info 等这种方式输出日志比使用 System.out.println() 这种方式要好;

3、初学不要使用 log4j 2版本的,因为 2 版本较 1 版本而言改动较大,给学习增加了难度。

本示例中使用的是 log4j-1.2.17.zip

第 1 步:

  把  log4j-1.2.17.zip 解压,把其中的 log4j-1.2.17.jar 这个包加入到项目中的 buildpath 下(这里我也想不清楚是个什么概念,让大家见笑了。总之就是让你的项目能够引用到  log4j-1.2.17.jar 这个 jar 包里面的类);

第 2 步:

  在这个目录下  log4j-1.2.17.zip\apache-log4j-1.2.17\examples 找到 sort2.properties 文件,将其更名为 log4j.properties,复制到项目的源代码 src 跟路径下。

之所以使用  sort2.properties 这个配置文件是因为我个人觉得这一份配置文件的输出信息已经比较详细了;

第 3 步:

  在 log4j.properties 文件的第 1 行 配置日志级别,日志级别总共有 5 种,你们都懂地,我就不罗嗦了;

第 4 步:

  在测试类里面声明一个日志记录器:

  /**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(Anjudianping.class);

  随后在须要输出日志的地方,就可以这样使用:

  logger.debug("request 的 getParameter() 方法接收到的参数值:" + content);

以上就完成地为你的项目添加了 log4j 日志输出。关于 log4j 的一些详细介绍,网上有很多资料了,在这里就不过多介绍。本文只是一个上手的例子。大家可以根据自己在网络上查找到的资料来更改  log4j.properties 这个属性文件的配置,以符合自己项目的日志输出需求。

一个最最简单的 log4j 的 入门级使用案例的更多相关文章

  1. 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO

    这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...

  2. IoC原理-使用反射/Emit来实现一个最简单的IoC容器

    从Unity到Spring.Net,到Ninject,几年来陆陆续续用过几个IoC框架.虽然会用,但也没有一直仔细的研究过IoC实现的过程.最近花了点时间,下了Ninject的源码,研究了一番,颇有收 ...

  3. [oracle]一个最简单的oracle存储过程"proc_helloworld"

    1.编写.编写一个最最简单的存储过程,给它起个名字叫做proc_helloworldCREATE OR REPLACE PROCEDURE proc_helloworldISBEGIN   DBMS_ ...

  4. 【spring】-- 手写一个最简单的IOC框架

    1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <b ...

  5. Android自定义view(一):制作一个最最最简单的自定义view

    转载:https://blog.csdn.net/wsyizmao/article/details/78491422 浅谈安卓自定义view(一):制作一个最最最简单的自定义view 对于安卓程序员来 ...

  6. Dubbo入门介绍---搭建一个最简单的Demo框架

    Dubbo入门---搭建一个最简单的Demo框架 置顶 2017年04月17日 19:10:44 是Guava不是瓜娃 阅读数:320947 标签: dubbozookeeper 更多 个人分类: D ...

  7. Win32 程序开发入门:一个最简单的Win32程序

    一.什么是 Win32 Win32 是指 Microsoft Windows 操作系统的 32 位环境,与 Win64 都为 Windows 常见环境. 这里再介绍下 Win32 Applicatio ...

  8. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  9. OBS插件学习入门:一个非常简单的、调节音量的filter

    一个非常简单的.调节音量的filter,非线性调节: #include <obs-module.h> #include <math.h> struct volume_data ...

随机推荐

  1. 桌面应用开发用到的Framework

    桌面应用开发用到的Framework https://github.com/zhangqs008/Framework_Winform

  2. tensorflow和pytorch的区别

    pytorch是动态框架,tensorflow是静态框架 针对tensorflow,我们先构造了一个计算图,构建完之后,这个计算图就不能改变了,我们再开启会话,输入数据,进行计算.那么这个流程就是固定 ...

  3. 怎么用 pytorch 查看 GPU 信息

    如果你用的 Keras 或者 TensorFlow, 请移步 怎么查看keras 或者 tensorflow 正在使用的GPU In [1]: import torch In [2]: torch.c ...

  4. Can you answer these queries? HDU 4027 线段树

    Can you answer these queries? HDU 4027 线段树 题意 是说有从1到编号的船,每个船都有自己战斗值,然后我方有一个秘密武器,可以使得从一段编号内的船的战斗值变为原来 ...

  5. dp(最大分段和)

    http://acm.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Othe ...

  6. svn登录问题

    转载自: https://www.cnblogs.com/WQX-work24/p/9790260.html 版权归该作者所有.

  7. CSS3 (border-radius)深度探析

    border-radius 为元素添加圆角边框 <div class = "demo"></div> .demo{ width:100px; height: ...

  8. vue路由的两种模式配置以及history模式下面后端如何配置

    vue路由的两种模式配置以及history模式下面后端如何配置 1.hash ——即地址栏URL中的#符号.hash 虽然出现URL中,但不会被包含在HTTP请求中,对后端完全没有影响,因此改变has ...

  9. Java JNA (四)—— void**、void*、char**、char*、int*等类型映射关系及简单示例

    ByReference类有很多子类,这些类都非常有用. ByteByReference.DoubleByReference.FloatByReference. IntByReference.LongB ...

  10. [转]使用flask实现mock server

    什么是mock server: http://www.testclass.net/interface/mock_server 使用flask 实现  mock server : http://www. ...