引言:
引用
告别System.out.println();的时代。
System.out.println()对于很多还不怎么接触项目的童鞋来说,是一样再正常不过的查看运行状态的一个用法了。
但这毕竟是一时的,在真正的项目运用中,这个方式是不提倡使用的。
一、System.out.println()给程序带来了什么问题
1、程序过多的System.out.println()给程序代码带来了很多杂乱的代码
2、System.out.println()的作用只能输出显示在控制台上,是临时性的,无法将这些日志保存在文件中
3、人为的干涉System.out.println(),当不要求显示出这些信息的时候,要求人为的去找出这些代码的位置并注释(麻烦)
4、System.out.println()并不能分级的显示信息,有些是提示,有些是错误等等,System.out.println()只会全盘的托出。
二、Log4j带来的好处
1、Log4j代码清晰,可以清楚的去定义是提示信息,还是错误信息,还是调试信息,等等。(下面会讲到7种信息提示级别)
2、Log4j通过log4j.properties的配置文件,可以配置不同的输出方式,有(控制台、文件、html、mail等方式)可以选择
3、Log4j也可以通过配置文件可以设置,需要显示哪些层级的信息,灵活性更高。
三、Log4j 的 Quick Start
需要的jar包:http://logging.apache.org/log4j/1.2/download.html中下载jar包
如果是maven工程的话,可以在Pom.xml中加入以下代码
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
写测试类名为TestLog4j。
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class TestLog4j {
//创建一个私有的日志对象
private Logger log = Logger.getLogger(TestLog4j.class);
public void execute(){
//加载配置文件,很重要。
PropertyConfigurator.configure("D:\\log4j.properties");
//写出需要显示的信息
log.debug("Just testing a log message with priority set to DEBUG");
log.info("Just testing a log message with priority set to INFO");
log.warn("Just testing a log message with priority set to WARN");
log.error("Just testing a log message with priority set to ERROR");
log.fatal("Just testing a log message with priority set to FATAL");
}
public static void main(String[] args) {
TestLog4j log4j = new TestLog4j();
log4j.execute();
}
}
这里面有写着我的配置文件的地址
配置文件内容:
#print to console
log4j.rootLogger = debug, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t](%r %x %c) (%F:%L) - %m%n
运行下,执行的结果为:
引用
DEBUG [main](0 TestLog4j) (TestLog4j.java:15) - Just testing a log message with priority set to DEBUG
INFO [main](0 TestLog4j) (TestLog4j.java:16) - Just testing a log message with priority set to INFO
WARN [main](0 TestLog4j) (TestLog4j.java:17) - Just testing a log message with priority set to WARN
ERROR [main](0 TestLog4j) (TestLog4j.java:18) - Just testing a log message with priority set to ERROR
FATAL [main](0 TestLog4j) (TestLog4j.java:19) - Just testing a log message with priority set to FATAL
这就是一个大致的流程了,当然这里面还有很多需要学习的地方。下面就是对Log4j整体的一个学习吧。
分享到:
相关推荐
log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记log4j学习笔记
Log4j学习笔记和一套完整定义实例 精辟
Log4j 学习笔记. 1. Log4j的类图 2. Logger:日志写出器 1. Logger的输出方法 2. Logger的命名规则 3. Log level 4. 示例代码 5. 关于logger的两点说明 3. Appender:日志目的地 1. ConsoleAppender 2. ...
Log4j 学习笔记
log4j 学习笔记 自己整理出来的 网上写的很杂乱。其实在java企业级中开发 我们更重视的是如何做日志记录。本笔记快速入门使用 log4j 节省了企业开发的学习成本
log4j学习笔记.
Log4J学习笔记 1、配置文件 2、数据库 3、封装
log4j的详细学习笔记,最适合初级、中级学员
1.该笔记中详细的介绍了log4j的作用和优势、具体地讲解了log4j的使用步骤和详细配置。 2.深入的说明了log4j在项目中的重要地位以及给项目带来的影响,同时说明了log4j的优化。 3.该笔记从log4j的简介/入门开始介绍,到...
*Log4j 学习笔记,自己的一点学习经验
log4j学习笔记及写入数据库配置,一份log4j学习资料。还包含log4j写入数据库的配置方法。
log4j的学习笔记,网上找到的,写的很不错
Jerry lv的log4j笔记,图文并茂,推荐
Log4j2学习笔记,引入log4j2的依赖-log4j2.xml配置模板-application.properties文件配置-使用
Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j ,我们可以控制日志信 送的目的地是控制台、文件、 GUI 组件、甚至是套接口服务器、 NT 的事件记录器、 X Syslog 守护进程等;我们也可以控制每一条日志的...
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等等,我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成...
针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...
供初学人员学习,包括log4J的文件配置以及代码示例