◎筱米加步枪◎.Blog

Happy coding

Log4j之Logger等级和配置文件

前几天,看了之前的《计量器管理系统》中,遇到Log4j的一些使用方法,和之前用的Log4j,虽然用了,却不知道什么意思,前两天百度谷歌了下,

总结如下:(电脑崩溃搞了两天~~~无比郁闷~~)

Log4j一个很重要的类就是Logger,它负责日志处理的大部分操作。

贴个代码:

/**
 * <p>测试Log4j(仅供学习)</p>
 * 
 * @author ChenST
 * 
 * @create 2010-3-7
 */
public class TestLog4j {
	
	/**
	 * 获取一个属于TestLog4j的Logger对象
	 */
	//Logger是日志处理的核心组件,负责大部分的日志处理操作
	private static Logger logger=Logger.getLogger(TestLog4j.class);
	
	public static void main(String[] args) {
		
		//Logger有7种等级,分别是:(从低到高)
		//1. Level.ALL    打开所有日志记录
		//2. Level.DEBUG  表示信息对调试过程非常有帮助
		//3. Level.INFO   表示强调应用程序的运行过程
		//4. Level.WARN   表明可能存在潜在的错误
		//5. Level.ERROR  表明虽然发生错误事件,仍然不影响系统的继续运行
		//6. Level.FATAL  严重错误,有可能将会使系统退出
		//7. Level.OFF    关闭所有日志记录
		
        //设置日志等级(默认可从log4j.properties配置中获取)
        //logger.setLevel(Level.WARN);
        
		logger.debug("debug");
		logger.info("info");
		logger.warn("wran");
		logger.error("error");
		logger.fatal("fatal");
	}
}

接着是配置文件log4j.properties文件,以前就是拷贝进去就完事了~~现了解了点点~:

 这是之前经常用的配置文件,只是现在做了注释~~

#配置根Logger,第一个为输出级别,只有该级别和该级别以上的输出
log4j.rootLogger=DEBUG,CONSOLE

#子日志是否使用rootLogger的配置(true是使用logger的配置)
log4j.addivity.org.apache=true

#将log4j.rootLogger中定义的CONSOLE输出到控制台
#(org.apache.log4j.ConsoleAppender表示控制台)
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

#日志的级别
log4j.appender.Threshold=WARN

#指定输出控制台上
log4j.appender.CONSOLE.Target=System.out

#PatternLayout表示可以灵活的展示布局方式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

#展示了输出格式,详情如下:
#   %m   输出代码中指定的消息
#  %p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
#  %r   输出自应用启动到输出该log信息耗费的毫秒数 
#  %c   输出所属的类目,通常就是所在类的全名 
#  %t   输出产生该日志事件的线程名 
#  %n   输出一个回车换行符
#   %d   输出日志时间点的日期或时间, 
#  %l   输出日志事件的发生位置
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

因此,输出结果为:

[framework] 2010-03-08 22:55:04,640 - com.shine.log4j.TestLog4j -0    [main] DEBUG com.shine.log4j.TestLog4j  - debug
[framework] 2010-03-08 22:55:04,640 - com.shine.log4j.TestLog4j -0    [main] INFO  com.shine.log4j.TestLog4j  - info
[framework] 2010-03-08 22:55:04,640 - com.shine.log4j.TestLog4j -0    [main] WARN  com.shine.log4j.TestLog4j  - wran
[framework] 2010-03-08 22:55:04,640 - com.shine.log4j.TestLog4j -0    [main] ERROR com.shine.log4j.TestLog4j  - error
[framework] 2010-03-08 22:55:04,640 - com.shine.log4j.TestLog4j -0    [main] FATAL com.shine.log4j.TestLog4j  - fatal

做个备忘~~~hoho~

struts-config.xml中<forward>标签path属性传多个参数注意点

今天,在作一道练习时

在struts-config.xml中配置<forward>标签时候,通过地址传递参数,想当然的把参数加在后面:

配置信息如下:(这是错误的)

 

  1. <forward name="editItemFinish" path="/user.do?method=init&forward=edit"></forward>

结果提示下列信息:

原先以为<forward>不能传递多个参数 ,后来百度了一下。发现是可以的。

解决方法相当的简单:

只需将&符号用&amp;来代替即可:

正确代码如下:

  1. <forward name="editItemFinish" path="/user.do?method=init&amp;forward=edit"></forward>