SSH(三)资源分类和日志管理

3 篇文章 0 订阅
本文主要介绍了SSH项目中的资源分类和日志管理的重要性。资源分类有助于团队开发和项目理解,日志管理使用了sf4j与log4j,其中详细解释了log4j的日志级别和配置,并通过代码示例展示了不同日志级别下的输出效果。
摘要由CSDN通过智能技术生成

    上篇博文已经分别介绍了如何搭建SSH开发环境以及对SSH三个框架的整合。整合完成之后,我们基本上就可以正常的开始一个基于SSH框架开发的项目了。本篇博文介绍的资源分类日志管理都是一些锦上添花的配置。利用这些,来清晰我们的思路,便利我们的编程。

 

    先来说说资源分类吧。这里的资源分类是指对项目中代码或者配置文件等的一个分类管理。以下截图中的分类只是参考,主要是对于资源分类管理思想上的重视。我们要知道,一个结构清晰骨架简洁的项目是极其方便团队开发,同时也可加快新人或者他人对该项目的理解。


 

    再来说说日志管理,一般稍大型的项目都会加入日志管理。日志模块基本是一个必不可少的部分,它对调试,记录运行,问题定位都起到很重要的作用。我们常见的日志工具有很多:sf4j、commons-logginglog4jJDK自带logging等。这些日志框架的常用功能和使用方式都是大体相同的。在这里我想要格外说的就是sf4j,它不同于log4j或者logging等日志工具。sf4j是一个管理日志工具的工具。加入它是为了应对项目中日志框架的变化,例如开始使用的log4j,但是后期因为某种原因想要更换为commons-logging,如果使用了sf4j,开发人员只需要调用slf4j即可,然后slf4j根据开发人员加入的不同的jar包,来调用相应的日志工具。

 

    当前项目中我们使用的日志工具就是sf4jlog4j,下图是使用log4j我们需要加入的jar包:


    Log4j由三个重要的组件构成:日志信息的优先级日志信息的输出目的地日志信息的输出格式。日志信息的优先级从高到低有FATALERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

    其中日志信息的优先级别FATALERROR、WARN、INFO、DEBUG分别代表:严重错误、错误、警告、一般信息、调试信息

    关于日志级别的设置,在log4j.properties文件中:

### direct logmessages to stdout ###

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L - %m%n

 

### direct messagesto file hibernate.log ###

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=hibernate.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L - %m%n

 

### set log levels -for more verbose logging change 'info' to 'debug' ###

 

log4j.rootLogger=error,stdout

 

#log4j.logger.org.hibernate=info

#log4j.logger.org.hibernate=debug

log4j.logger.cn.itcast.oa=debug

   

     log4j.rootLogger=error,stdout

    通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

  

     log4j.logger.cn.itcast.oa=debug
则是单独设置某个项目中的某个包的日志级别。

 

    加入jar包和配置文件,我们就可以使用日志管理我们的项目了。下面就是我对加入日志的一个测试。测试类代码:

package cn.itcast.oa.test;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;


public class LogTest {

	private Log log = LogFactory.getLog(this.getClass());
	
	@Test
	public void test() {
		log.debug("这是debug信息");
		log.info("这是info信息");
		log.warn("这是warn信息");
		log.error("这是error信息");
		log.fatal("这是fatal信息");
	}
}

    当我们在log4j.properties配置文件中设置不同的日志级别时,控制台打印的信息应该也是不尽相同。先看日志级别为debug

   

    log4j.rootLogger=debug,stdout

    debug是最低级别,应该比它级别高的日志都应该被打印出来。显示结果为:


 

    再对比看一下,设置日志级别为error。比它低的日志级别信息应该是不能被打印出来的。

   

    log4j.rootLogger=error,stdout

    显示结果为:


 

    至此,关于资源分类和日志管理,我们有了一个最基础的了解,具体深入的使用还需要继续在项目中摸索学习。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值