引言:
理论中浅谈,实践中理解。用例子还实践最为直接和明了的总结了。
需求:
项目名:LogPro
文件目录
+LogPro //项目名
- A.java
- B.java
- TestMain.java //主程序
+bbb //文件夹
-C.java
-D.java
其中,A、B、C、D四个文件中有着各自的execute的方法,方法里为日志的输出,如
public void execute(){
log.info("class A info message");
log.debug("class A debug message");
log.error("class A error message");
}
要求:
一次执行,达下下面的要求:
1、把A、B、C、D执行的日志信息输出到按制台上
2、把A、B 的日志信息以a.log的文件输出
3、把C、D 的日志信息以b.log的文件输出
具体的代码实现
:(使用的是commons-logging与log4j的结合)
public class A {
//protected Logger log = Logger.getLogger(A.class.getName());
protected Log log = LogFactory.getLog(A.class); //当前的类
public void execute(){
log.info("class A info message"); //里面的A是对这条信息的标识
log.debug("class A debug message");
log.error("class A error message");
}
}
B、C、D类同上,只是有两处修改,请注意。
public class TestMain {
// protected Logger log = Logger.getLogger(TestMain.class.getName());
public void execute() {
Log log = LogFactory.getLog(TestMain.class);
log.info("class TestMain info message");
log.debug("class TestMain debug message");
log.error("class TestMain error message");
A a = new A();
B b = new B();
C c = new C();
D d = new D();
a.execute();
b.execute();
c.execute();
d.execute();
}
public static void main(String[] args) {
TestMain testMain = new TestMain();
testMain.execute();
}
}
测试主类。
配置文件Log4j.properties
#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
log4j.logger.A=debug,R
log4j.logger.B=debug,R
#print to file a.log
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=a.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
log4j.logger.bbb.C=debug,R2
log4j.logger.bbb.D=debug,R2
#print to file a.log
log4j.appender.R2=org.apache.log4j.RollingFileAppender
log4j.appender.R2.File=b.log
# Control the maximum log file size
log4j.appender.R2.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.R2.MaxBackupIndex=1
log4j.appender.R2.layout=org.apache.log4j.PatternLayout
log4j.appender.R2.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
运行,测试成功。
P.S 这里面我用的是maven工程,里面的log4.properties是放在classpath的,所以会自动加载,输出的a.log、b.log也是用的相对地址,所以执行后也在项目文件夹里面。
END
分享到:
相关推荐
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录框架,由Apache软件基金会开发。它提供了一套灵活的日志记录系统,帮助开发者在开发过程中追踪应用程序的行为,便于调试、性能分析和问题排查。Log4j...
### log4J学习笔记 #### 一、Apache Commons Logging与log4j及JDK Logger的关系 **Apache Commons Logging** 的设计初衷是为了提供一个简洁统一的日志接口,它并不直接实现日志功能,而是通过桥接的方式支持多种...
**Log4j学习笔记** Log4j是一款广泛应用于Java编程中的日志记录工具,由Apache软件基金会开发。它提供了一种灵活且强大的机制来记录应用的运行情况,这对于调试、性能分析、问题追踪以及系统监控至关重要。这篇学习...
"log4j 学习笔记" log4j 是一个流行的 Java 日志记录工具, logger 是记录日志信息的基本单元。在 log4j 中, logger 的级别越低,记录的日志信息越详细。 Logger 的级别从低到高依次是:ALL 。 log4j 的日志记录...
### Log4j 学习笔记知识点详解 #### 一、Log4j 概述与架构 **Log4j** 是 **Apache** 组织提供的一个开源日志框架,旨在简化应用开发中的日志记录工作。它能够灵活地记录程序运行时的信息,并允许用户自定义日志的...
### Log4J学习笔记 #### 一、Log4J配置文件的学习 在深入理解Log4J之前,我们先从配置文件入手。Log4J支持多种配置文件格式,其中包括XML和Java特性文件(键=值)。这里我们将重点介绍如何使用Java特性文件作为...
总的来说,Log4j是一个强大且灵活的日志框架,它的灵活性和可配置性使其成为Java开发者必备的工具之一。通过理解并熟练运用Log4j,我们可以更好地监控和调试应用程序,提高开发效率和维护质量。在学习过程中,参考...
### Log4j学习笔记 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现日志功能的Java库。它允许开发者控制日志信息的生成、格式和输出目标。Log4j的强大之处在于它的灵活性和扩展性,能够适应不同层次的...
### Log4j学习笔记知识点详解 #### 一、Log4j概述 - **定义与功能**:Log4j是Apache组织推出的一个开源日志框架,主要用于控制和管理应用程序中的日志记录过程。它允许开发者非常灵活地配置日志输出的目的地(如...
**Log4j 简介** Log4j 是一个广泛使用的开源日志记录框架,由 Apache 软件基金会开发。它为Java应用程序提供了一种灵活的日志记录机制,允许开发者控制日志信息的输出级别、输出目的地以及输出格式。由于其强大的...
Log4j 的强大之处在于它的可配置性,允许用户根据需求定制日志级别、日志格式以及日志输出的目标。 ### 1. 日志级别 Log4j 提供了多种日志级别,包括: - `DEBUG`:用于调试信息,通常在开发阶段使用。 - `INFO`...
【Log4j入门学习笔记】 Log4j是一个广泛使用的Java日志框架,旨在解决程序开发中日志记录的复杂性和可维护性问题。它提供了一种灵活的方式来控制日志信息的输出格式、输出级别和输出位置,使得在调试、监控和故障...
在学习Log4j的过程中,阅读“log4j学习笔记及写入数据库配置”这份资料将有助于深入理解Log4j的使用,包括具体的配置步骤、常见问题以及最佳实践。通过实践,你可以更好地掌握如何利用Log4j来提升你的应用程序的可...
Log4j学习笔记 在软件开发中,日志记录是一个至关重要的部分,它不仅帮助开发者监控程序运行状态,追踪错误,还可以为系统维护提供宝贵的审计信息。Log4j,一个由Apache开发的Java日志框架,是日志记录工具中的佼佼...
log4j的学习笔记,网上找到的,写的很不错
Appender是Log4j的核心组件之一,它决定了日志信息将被输出到何处。Log4j提供了多种Appender供选择: - **ConsoleAppender**:将日志信息输出到控制台。 - **FileAppender**:将日志信息写入单个文件。 - **...
Log4j2 配置模板学习笔记 Log4j2 是 Java 语言中一种流行的日志记录工具,它提供了灵活的日志记录管理功能。下面我们将学习 Log4j2 配置模板的使用和配置。 引入 Log4j2 依赖 在使用 Log4j2 之前,需要在 Maven ...
这篇学习笔记主要涵盖了Log4j的三个核心组件:日志记录器(Loggers)、日志级别以及输出端(Appenders)。 首先,日志记录器(Loggers)是Log4j的基础。每个Logger对象都有一个唯一的名字,这个名字通常是类名,...
Log4j log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务。Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、...