灿烂千阳

读书编码,闲散一生

 
 
 
 
 
 

log4j使用

2008-9-25 10:47:53 阅读(38) 评论(1)

1.rootLogger和其他logger

rootLogger通过静态方法Logger.getRootLogger()获得,

其他logger通过静态方法Logger.getLogger()获得。具体方法定义如下:


package org.apache.log4j;

public class Logger {

  public static Logger getRootLogger();

  public static Logger getLogger(String name);

  public void debug(Object message);

  public void info(Object message);

  public void warn(Object message);

  public void error(Object message);

  public void fatal(Object message);

  public void log(Level l, Object message);

}


2.getLogger方法

如果参数相同,获得的logger是相同的,比如:

Logger x = Logger.getLogger("wombat");
Logger y = Logger.getLogger("wombat");

 

3.初始化方法

有三种配置器:BasicConfigurator,DOMConfigurator,PropertyConfigurator

其中PropertyConfigurator可以用于多种平台。

PropertyConfigurator.configue("log4j.properties")

一般log4j会在启动的时候,搜索classpath下的配置文件并初始化,如果没有初始化,才有必要进行手动设置。

 

4.log使用


import org.apache.log4j.Logger;

public class Test {
    static Logger log= Logger.getLogger(Test.class);
   
    public void log(){
       log.debug("Debug info.");
       log.info("Info info");
       log.warn("Warn info");
       log.error("Error info");
       log.fatal("Fatal info");

    }

    public static void main(String[] args) {
       Test test = new Test();
       test.log();
    }
}

 

log4j配置:

log4j.rootLogger=info, stdout

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

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

# Pattern to output the caller's file name and line number.

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

 

输出:

INFO [main] (Test.java:16) - Info info
 WARN [main] (Test.java:17) - Warn info
ERROR [main] (Test.java:18) - Error info
FATAL [main] (Test.java:19) - Fatal info

阅读(38) | 评论(1) | 阅读全文>>

sql语句的优先级

2008-8-6 17:15:16 阅读(1) 评论(0)


--name='admin1' 假
--id=131073 真
--email='hzjay@163.com'

select * from userinfo
where id=131073 or email='hzjay@163.com' and name='admin1'


--=========执行效果
select * from userinfo
where (id=131073 or (email='hzjay@163.com' and name='admin1'))

--结果从里面的括号执行

--========而不是这样的执行结果(完全从左到右)

select * from userinfo
where ((id=131073 or email='hzjay@163.com') and name='admin1')

 

--第一条语句的执行效果跟第二条语句的执行效果相同,而和第三条语句不同

阅读(1) | 评论(0) | 阅读全文>>

价格验证的正则

2008-7-29 15:58:51 阅读(18) 评论(0)

不过不能防止0.00,-0.00,应该算是逻辑错误吧

===========================html====================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 <script>
  var  re=/(^[-+]?[1-9]\d*(\.\d{1,2})?$)|(^[-+]?[0]{1}(\.\d{1,2})?$)/;
  if(!re.test("10.00")){
   alert("市场价格必须为合法数字(正数,最多两位小数)!");
  }else{
   alert("ok");
   }
 </script>
 </HEAD>

 <BODY>
 
 </BODY>
</HTML>

阅读(18) | 评论(0) | 阅读全文>>

全角半角区分的问题

2008-7-29 14:45:11 阅读(6) 评论(0)

可能跟刚开始安装sql server的时候的配置有关,

如果数据库表中某列有唯一性限制,但是出现

英文字母和中文半角(半角还是全角,我说不清)的数据会违反唯一性。

INSERT INTO [systemregion](id,sn,title,lev,sequence,inputTime,inputUser,status,parent_sn) VALUES ('98347', 'sx', '山西', '2', '21', '2007-09-17 13:30:01', 'admin', '0', '1');

INSERT INTO [systemregion](id,sn,title,lev,sequence,inputTime,inputUser,status,parent_sn) VALUES ('196835', 'SX', '绍兴', '3', '12', '2007-09-18 17:11:02', 'admin', '0', 'zj');

 

mysql中没有这个问题。

阅读(6) | 评论(0) | 阅读全文>>

查询相同数据

2008-7-29 14:06:05 阅读(0) 评论(0)

select * from systemregion as s
join (SELECT title,count(title) FROM systemregion group by title having count(title)>1) as o
on o.title=s.title

阅读(0) | 评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

  飞花如梦

广东省 广州市 天秤座

 发消息  写留言

 
自我介绍多说无益,沉默是金。
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2009