看了比较多的文档和博客,感觉这篇博客写得比较好,比较容易懂,先 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. Python3之异常处理

    写自动化脚本时经常会用到异常处理,下面将python中的异常处理做一整理: 注意:以下所有事列中的111.txt文件不存在,所以会引起异常 用法一:try...except...else..类型 1. ...

  2. React-onsenui之RouterNavigator组件解读

    var index = 1;// index的最外层初始值,亦是全局 var MyPage = React.createClass({ //构成工具栏组件,根据hasBackButton的值为back ...

  3. 使用 Spring HATEOAS 开发 REST 服务

    使用 Spring HATEOAS 开发 REST 服务 学习博客:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/ htt ...

  4. npm搭建vue全过程

    如何在Window下安装node\cnpm,并安装vue.js,创建项目 参考链接:https://blog.csdn.net/Corey_mengxiaodong/article/details/8 ...

  5. [AHOI2013]作业 (莫队+分块)

    [AHOI2013]作业 (莫队+分块) 题面 给定了一个长度为n的数列和若干个询问,每个询问是关于数列的区间[l,r],首先你要统计该区间内大于等于a,小于等于b的数的个数,其次是所有大于等于a,小 ...

  6. 知乎使用selenium反爬虫的解决方案

    from selenium.webdriver import Chrome from selenium.webdriver import ChromeOptions option = ChromeOp ...

  7. Ftp客户端(上传文件)

    #coding=utf-8 import os import socket import hashlib import json # client = socket.socket() #申明socke ...

  8. ZeroAccess分析

    来源:http://bbs.pediy.com/showthread.php?t=141124&highlight=ZeroAccess 总序这分成四个部分的系列文章,是一个完全的一步一步来分 ...

  9. ant-design如果按需加载组件

    Ant Design React按需加载 Ant Design是阿里巴巴为React做出的组件库,有统一的样式及一致的用户体验 官网地址:https://ant.design 1.安装: npm in ...

  10. 用Nginx代理请求,处理前后端跨域

    自从前端spa框架出现后,都是前后端分离开发了.我们在开发的时候难免会遇到跨域的问题.跨域这种问题解决的方法基本都是在服务端实现的.以java为例,我知道的有3种方法处理跨域: 1.使用 @Cross ...