- Spring核心基础
- Spring - 首页
- Spring - 概述
- Spring - 架构
- Spring - 环境设置
- Spring - HelloWorld示例
- Spring - IoC容器
- Spring - Bean定义
- Spring - Bean作用域
- Spring - Bean生命周期
- Spring - Bean后处理器
- Spring - Bean定义继承
- Spring - 依赖注入
- Spring - 注入内部Bean
- Spring - 注入集合
- Spring - Bean自动装配
- 基于注解的配置
- Spring - 基于Java的配置
- Spring - Spring中的事件处理
- Spring - Spring中的自定义事件
- Spring - 使用Spring框架进行AOP
- Spring - JDBC框架
- Spring - 事务管理
- Spring - Web MVC框架
- Spring - 使用Log4J进行日志记录
- Spring问答
- Spring - 问答
- Spring有用资源
- Spring - 快速指南
- Spring - 有用资源
- Spring - 讨论
Spring - 使用Log4J进行日志记录
这是一个在Spring应用程序中非常易于使用的Log4J功能。以下示例将引导您完成简单的步骤,以解释Log4J和Spring之间简单的集成。
我们假设您已经在您的机器上安装了log4j。如果您没有安装,您可以从https://logging.apache.org/下载它,并将压缩文件解压到任何文件夹中。在我们的项目中,我们只需要使用log4j-x.y.z.jar。
接下来,让我们准备好一个可用的Eclipse IDE,并按照以下步骤使用Spring Web框架开发一个基于动态表单的Web应用程序:
步骤 | 描述 |
---|---|
1 | 创建一个名为SpringExample的项目,并在创建的项目中的src文件夹下创建一个包com.tutorialspoint。 |
2 | 如Spring HelloWorld示例章节中所述,使用添加外部JARs选项添加所需的Spring库。 |
3 | 同样,使用添加外部JARs选项将log4j库log4j-x.y.z.jar添加到您的项目中。 |
4 | 在com.tutorialspoint包下创建Java类HelloWorld和MainApp。 |
5 | 在src文件夹下创建Bean配置文件Beans.xml。 |
6 | 在src文件夹下创建log4J配置文件log4j.properties。 |
7 | 最后一步是创建所有Java文件和Bean配置文件的内容,并按如下所述运行应用程序。 |
这是HelloWorld.java文件的内容
package com.tutorialspoint; public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage() { System.out.println("Your Message : " + message); } }
以下是第二个文件MainApp.java的内容
package com.tutorialspoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.apache.log4j.Logger; public class MainApp { static Logger log = Logger.getLogger(MainApp.class.getName()); public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); log.info("Going to create HelloWord Obj"); HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.getMessage(); log.info("Exiting the program"); } }
您可以以类似于生成信息消息的方式生成debug和error消息。现在让我们看看Beans.xml文件的内容
<?xml version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id = "helloWorld" class = "com.tutorialspoint.HelloWorld"> <property name = "message" value = "Hello World!"/> </bean> </beans>
以下是log4j.properties的内容,它定义了Log4J生成日志消息所需的标准规则
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender # Set the name of the file log4j.appender.FILE.File=C:\\log.out # Set the immediate flush to true (default) log4j.appender.FILE.ImmediateFlush=true # Set the threshold to debug mode log4j.appender.FILE.Threshold=debug # Set the append to false, overwrite log4j.appender.FILE.Append=false # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
创建源文件和Bean配置文件后,让我们运行应用程序。如果您的应用程序一切正常,这将在Eclipse控制台中打印以下消息:
Your Message : Hello World!
如果您检查您的C:\\驱动器,您应该会找到您的日志文件log.out,其中包含各种日志消息,如下所示:
<!-- initialization log messages --> Going to create HelloWord Obj Returning cached instance of singleton bean 'helloWorld' Exiting the program
Jakarta Commons Logging (JCL) API
或者,您可以使用Jakarta Commons Logging (JCL) API在您的Spring应用程序中生成日志。JCL可以从https://jakarta.apache.org/commons/logging/下载。从这个包中,我们技术上只需要commons-logging-x.y.z.jar文件,这个文件需要像上面示例中放置log4j-x.y.z.jar一样放置到您的类路径中。
要使用日志记录功能,您需要一个org.apache.commons.logging.Log对象,然后您可以根据您的需求调用以下方法之一:
- fatal(Object message)
- error(Object message)
- warn(Object message)
- info(Object message)
- debug(Object message)
- trace(Object message)
以下是MainApp.java的替换版本,它使用了JCL API
package com.tutorialspoint; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.apache.commons.logging. Log; import org.apache.commons.logging. LogFactory; public class MainApp { static Log log = LogFactory.getLog(MainApp.class.getName()); public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); log.info("Going to create HelloWord Obj"); HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.getMessage(); log.info("Exiting the program"); } }
在编译和运行程序之前,您必须确保已将commons-logging-x.y.z.jar文件包含在您的项目中。
现在保持上述示例中的其余配置和内容不变,如果您编译并运行您的应用程序,您将获得与使用Log4J API获得的结果类似的结果。