引言:
这两天在学习日志处理,告别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带来的好处
- Log4j代码清晰,可以清楚的去定义是提示信息,还是错误信息,还是调试信息,等等。(下面会讲到7种信息提示级别)
- Log4j通过log4j.properties的配置文件,可以配置不同的输出方式,有(控制台、文件、html、mail等方式)可以选择
- Log4j也可以通过配置文件可以设置,需要显示哪些层级的信息,灵活性更高。
三、Log4j 的 Quick Start
http://logging.apache.org/log4j/1.2/download.html中下载jar包
ps: 如何是maven工程的话,可以在Pom.xml中加入以下代码
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
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整体的一个学习吧。
END
分享到:
相关推荐
### Log4j学习笔记 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现日志功能的Java库。它允许开发者控制日志信息的生成、格式和输出目标。Log4j的强大之处在于它的灵活性和扩展性,能够适应不同层次的...
总的来说,Log4j是一个强大且灵活的日志框架,它的灵活性和可配置性使其成为Java开发者必备的工具之一。通过理解并熟练运用Log4j,我们可以更好地监控和调试应用程序,提高开发效率和维护质量。在学习过程中,参考...
### Log4j学习笔记知识点详解 #### 一、Log4j概述 - **定义与功能**:Log4j是Apache组织推出的一个开源日志框架,主要用于控制和管理应用程序中的日志记录过程。它允许开发者非常灵活地配置日志输出的目的地(如...
Log4j 的强大之处在于它的可配置性,允许用户根据需求定制日志级别、日志格式以及日志输出的目标。 ### 1. 日志级别 Log4j 提供了多种日志级别,包括: - `DEBUG`:用于调试信息,通常在开发阶段使用。 - `INFO`...
【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...
在学习Log4j的过程中,阅读“log4j学习笔记及写入数据库配置”这份资料将有助于深入理解Log4j的使用,包括具体的配置步骤、常见问题以及最佳实践。通过实践,你可以更好地掌握如何利用Log4j来提升你的应用程序的可...
Log4j学习笔记 在软件开发中,日志记录是一个至关重要的部分,它不仅帮助开发者监控程序运行状态,追踪错误,还可以为系统维护提供宝贵的审计信息。Log4j,一个由Apache开发的Java日志框架,是日志记录工具中的佼佼...
Appender是Log4j的核心组件之一,它决定了日志信息将被输出到何处。Log4j提供了多种Appender供选择: - **ConsoleAppender**:将日志信息输出到控制台。 - **FileAppender**:将日志信息写入单个文件。 - **...
### Apache Log4j 学习笔记精要 #### 一、Apache Log4j 概览 **Apache Log4j** 是一款开源的日志框架,由Apache软件基金会所提供,旨在简化Java应用程序中的日志记录过程。它允许开发者在代码中加入日志记录功能,...
Log4j的强大之处在于它提供了丰富的配置选项,使得开发者可以根据不同的需求调整日志行为。 #### 二、Log4j配置文件详解 在上述提供的内容中,主要涉及到了两种不同类型的项目:Java项目和Web项目,并且给出了具体...
* 创建 log4j 配置文件 * 创建 db.properties 文件 * 创建 spring 配置文件 第二节:增删改查 * 新增测试 * 修改测试 * 查询测试 * 删除测试 第三节:运行原理 * EmployeeMapper 的本质 * MapperProxy 中 * ...
- **Slf4j桥接**:Slf4j是一个日志API,而Log4j是它的实现之一。使用slf4j-log4j12.jar作为适配器将Slf4j与Log4j连接。 5. **ID生成策略** - **对于MySQL的自增主键**,在User.hbm.xml中使用`...
### Mina2.0 学习笔记(重点) #### 一、Mina入门 ##### 第一步:下载使用的Jar包 1. **Mina核心库**:登录Mina官网下载`mina2.0.1.zip`,解压后得到`mina-core-2.0.0-M1.jar`。 2. **日志框架SLF4J**:访问SLF4J...
- **操作方法**:将`struts.xml`文件复制到项目的src目录下,并且可以将日志配置文件`log4j.properties`一同放置。 - **配置文件详解**: - **DTD文件**: 在Struts2的核心Jar包中包含有`struts.dtd`文件,该文件...
5. **日志配置**:学习如何配置Hibernate的日志系统,通常使用Log4j或SLF4J。 **第16课:关系映射(重点 Annotation注解)** 在关系型数据库中,数据之间的关联非常重要。本课主要讲解如何使用Hibernate的注解来处理...
### cs224n学习笔记:Recurrent Neural Networks 和 Language Models #### 1. 语言模型简介 **语言模型**是一种统计模型,用于计算给定单词序列(即句子)的概率 \(P(w_1, \ldots, w_m)\)。尽管听起来简单,但在...
Java是世界上最流行的编程语言之一,尤其在后端开发领域占据主导地位。这篇“Java很好的学习笔记部署环境”提供了丰富的资源,旨在帮助初学者和有经验的开发者深入理解如何配置和管理Java开发和运行环境。以下将详细...