看了比较多的文档和博客,感觉这篇博客写得比较好,比较容易懂,先 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. android window(三)lWindow添加流程

    http://androidxref.com/6.0.1_r10/xref/frameworks/base/services/core/java/com/android/server/wm/Windo ...

  2. selenium验证码处理之cookie登录

    在实际测试中会经常见到登录操作需要验证码验证登录 常见验证有以下几种: 验证码登录 图片识别   图片滑块识别验证   4.简单验证码计算 针对上面的登录验证解决办法有以下几种: 1.让开发去掉验证码 ...

  3. python爬虫——爬取淘票票正在热映电影

    今天正好学习了一下python的爬虫,觉得收获蛮大的,所以写一篇博客帮助想学习爬虫的伙伴们. 这里我就以一个简单地爬取淘票票正在热映电影为例,介绍一下一个爬虫的完整流程. 首先,话不多说,上干货——源 ...

  4. TensorFlow学习笔记8-深度学习的正则化

    深度学习的正则化 回顾一些基本概念 概念 描述 设计矩阵 数据集在特征向量上的表示 训练误差 学习到的模型与训练集标签之间的误差 泛化误差(测试误差) 学习到的模型与测试集之间的误差 欠拟合 模型的训 ...

  5. hacker101----XSS Review

    所有你见过XSS行动在这一点上,但我们来回顾一下今天我们要讨论的XSS类型: 反射型XSS --  来自用户的输入将直接返回到浏览器,从而允许注入任意内容  [浏览器输入,马上到服务器上,再反射回来直 ...

  6. CGI 环境变量

    CGI 环境变量 环境变量 意义 SERVER_NAME CGI脚本运行时的主机名和IP地址. SERVER_SOFTWARE 你的服务器的类型如: CERN/3.0 或 NCSA/1.3. GATE ...

  7. js json中的时间转换格式

    //根据json中的日期格式,转换成yyyy-mm-dd HH:mm:ss function ChangeDateFormat(cellval) { var date = new Date(parse ...

  8. xshell输入字母空格间距变大

    按一下shift+空格(全角/半角转换的快捷键,引起的问题)

  9. 通过document.domain实现跨域访问

    通过document.domain实现跨域访问:https://blog.csdn.net/nlznlz/article/details/79506655 前端跨域方法之document.domain ...

  10. 【洛谷p1970】花匠

    莫得致敬lz谢谢.lz的题解是优秀的题解谢谢! 看算法标签 但是我并不会DP的思路,用一个很神奇的码量超级少的代码(虽然我码了超多),然后其实这个数据可以看做是一个函数嘛对吧:(比如说样例) 那么要注 ...