一个最最简单的 log4j 的 入门级使用案例
看了比较多的文档和博客,感觉这篇博客写得比较好,比较容易懂,先 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 的 入门级使用案例的更多相关文章
- 10分钟完成一个最最简单的BLE蓝牙接收数据的DEMO
这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连 ...
- IoC原理-使用反射/Emit来实现一个最简单的IoC容器
从Unity到Spring.Net,到Ninject,几年来陆陆续续用过几个IoC框架.虽然会用,但也没有一直仔细的研究过IoC实现的过程.最近花了点时间,下了Ninject的源码,研究了一番,颇有收 ...
- [oracle]一个最简单的oracle存储过程"proc_helloworld"
1.编写.编写一个最最简单的存储过程,给它起个名字叫做proc_helloworldCREATE OR REPLACE PROCEDURE proc_helloworldISBEGIN DBMS_ ...
- 【spring】-- 手写一个最简单的IOC框架
1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <b ...
- Android自定义view(一):制作一个最最最简单的自定义view
转载:https://blog.csdn.net/wsyizmao/article/details/78491422 浅谈安卓自定义view(一):制作一个最最最简单的自定义view 对于安卓程序员来 ...
- Dubbo入门介绍---搭建一个最简单的Demo框架
Dubbo入门---搭建一个最简单的Demo框架 置顶 2017年04月17日 19:10:44 是Guava不是瓜娃 阅读数:320947 标签: dubbozookeeper 更多 个人分类: D ...
- Win32 程序开发入门:一个最简单的Win32程序
一.什么是 Win32 Win32 是指 Microsoft Windows 操作系统的 32 位环境,与 Win64 都为 Windows 常见环境. 这里再介绍下 Win32 Applicatio ...
- python从入门到大神---4、python3文件操作最最最最简单实例
python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...
- OBS插件学习入门:一个非常简单的、调节音量的filter
一个非常简单的.调节音量的filter,非线性调节: #include <obs-module.h> #include <math.h> struct volume_data ...
随机推荐
- Binder进程与线程ProcessState以及IPCThreadState
ProcessState以及IPCThreadState ProcessState是负责打开Binder节点并做mmap映射,IPCThreadState是负责与Binder驱动进行具体的命令交互. ...
- css 实现渐变
background:-ms-radial-gradient(circle,rgba(0, 0, 0, 0.2),rgba(0,0,0,0)); /* IE 10*/ background: -web ...
- 20191105 《Spring5高级编程》笔记-第6章
第6章 Spring JDBC支持 Spring官方: 位于Spring Framework Project下. 文档: https://docs.spring.io/spring-framework ...
- mysql5.7日志时间与系统时间不一致
在MySQL 5.7.2 新增了 log_timestamps 这个参数,该参数主要是控制 error log.genera log,等等记录日志的显示时间参数 且默认安装后error_log,slo ...
- 自己挖的坑自己填--JVM报内存溢出
在写定时任务时,对表数据进行批量操作,测试数据有10万条左右,在测试时发现跑着跑着出现内存溢出现象,最后发现创建的对象paramList 和tmBeanList没有被回收,经过资料查找,发现是循环内不 ...
- mysql-schema-sync同步两个实例
参考:https://github.com/hidu/mysql-schema-sync 需求:测试环境表结构变动同步到开发环境,两个实例各有数百个库,不适合每个库写一个配置文件 环境:操作系统ubu ...
- 自动生成脚本头部格式并调用VIM工具
在我们写脚本的时候,开始总要按照脚本书写规范来定义脚本头部格式,久而久之是不是会觉得麻烦效率低下呢,这里就介绍一个好的思路给大家. 1 首先我们在VIM里先复制个头部格式的内容,这里就抄袭一个二师兄的 ...
- Spring Security框架入门
1.Spring Security框架入门 1.1 Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框 ...
- window.onload后跟函数 和跟函数名的区别【window.onload = asd() 和 window.onload = asd 】
window.onload:页面加载完毕执行[DOM tree + 外部图片 + 资源] <script> function asd(){ return 10; } window.onlo ...
- 如何在springboot中读取自己创建的.properties配置的值
在实体类里面加上 @PropertySource("classpath:/robot_config.properties") robot_config.properties // ...