admin
管理员
管理员
  • UID1
  • 粉丝1
  • 关注0
  • 发帖数378
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:1986回复:0

Spring 日志 Log4J

楼主#
更多 发布于:2015-12-17 12:36
Spring应用是非常容易使用Log4J里面的功能。下面的例子将带你通过简单的步骤来解释Log4j和Spring之间的简单集成。
我假设你已经有你的机器上安装log4J日志,如果你没有,那么你可以从 http://logging.apache.org/ 下载并简单地提取任意文件夹的压缩文件。我们将使用唯一的log4j-x.y.z.jar在项目中。
接下来,使用Eclipse IDE,并按照以下步骤使用Spring Web框架开发动态表单的Web应用程序:
[table=100%,#f7f7f7,#d6d6d6,1,rgb(214, 214, 214)][tr][td=1,1,26]步骤[/td][td]描述[/td][/tr][tr][td]1[/td][td]Create a project with a name SpringExample and create a package com.yiibai under the src folder in the created project.[/td][/tr][tr][td]2[/td][td]Add required Spring libraries using Add External JARs option as explained in the Spring Hello World Example chapter.[/td][/tr][tr][td]3[/td][td]Add log4j library log4j-x.y.z.jar as well in your project using using Add External JARs.[/td][/tr][tr][td]4[/td][td]Create Java classes HelloWorld and MainApp under the com.yiibai package.[/td][/tr][tr][td]5[/td][td]Create Beans configuration file Beans.xml under the src folder.[/td][/tr][tr][td]6[/td][td]Create log4J configuration file log4j.properties under the src folder.[/td][/tr][tr][td]7[/td][td]The final step is to create the content of all the Java files and Bean Configuration file and run the application as explained below.[/td][/tr][/table]这里是HelloWorld.java的文件的内容:
package com.yiibai;
 
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.yiibai;
 
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");
   }
}

可以生成,因为我们已经产生信息的消息调试和错误消息类似的方式。现在,让我们来看看 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.yiibai.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:\ drive,那么应该找到日志文件log.out各种日志消息,内容如下:
<!-- initialization log messages -->
 
Going to create HelloWord Obj
Returning cached instance of singleton bean 'helloWorld'
Exiting the program



Jakarta Commons记录(JCL)API

另外,您可以使用Jakarta Commons Logging (JCL) API来在Spring应用程序生成的日志。 JCL可以从http://jakarta.apache.org/commons/logging/下载。我们在技术上需要此软件包的唯一文件是commons-logging-x.y.z.jar文件,该文件需要被放置在classpath类似的方式,已经把 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.yiibai;
 
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");
   }
}

你已经确定你包括编译和运行程序之前在项目中共享记录 - xyzjar文件。
现在,保持配置和上面的例子中其它的内容不变,如果编译并运行应用程序会得到类似的结果。

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部