黑马程序员技术交流社区
标题:
关于Logger的问题
[打印本页]
作者:
左建飞
时间:
2012-8-11 19:09
标题:
关于Logger的问题
在张老师的银行调度管理系统的代码中,
package cn.itcast.bankqueue;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.logging.Logger;
/**
* 没有把VIP窗口和快速窗口做成子类,是因为实际业务中的普通窗口可以随时被设置为VIP窗口和快速窗口。
* */
public class ServiceWindow {
private static Logger logger = Logger.getLogger("cn.itcast.bankqueue");//这个Logger是什么作用?
private CustomerType type = CustomerType.COMMON;
private int number = 1;
public CustomerType getType() {
return type;
}
public void setType(CustomerType type) {
this.type = type;
}
public void setNumber(int number){
this.number = number;
}
public void start(){
Executors.newSingleThreadExecutor().execute(
new Runnable(){
public void run(){
//下面这种写法的运行效率低,最好是把while放在case下面。是在每个case中都写一个while(true)么?这是为什么呢?
while(true){
switch(type){
case COMMON:
//while(true){
commonService();
break;
//}
case EXPRESS:
expressService();
break;
case VIP:
vipService();
break;
}
}
}
}
);
}
复制代码
只粘了这个类中的一部分代码,但方法是完整的,应该够了。望高手解答。
作者:
刘圣伟
时间:
2012-8-11 19:39
java.util.logging 类 Logger
Logger 对象用来记录特定系统或应用程序组件的日志消息。一般使用圆点分隔的层次命名空间来命名 Logger。Logger 名称可以是任意的字符串,但是它们一般应该基于被记录组件的包名或类名,如 java.net 或 javax.swing。此外,可以创建“匿名”的 Logger,其名称未存储在 Logger 命名空间中。
可通过调用某个 getLogger 工厂方法来获得 Logger 对象。这些方法要么创建一个新 Logger,要么返回一个合适的现有 Logger。
日志消息被转发到已注册的 Handler 对象,该对象可以将消息转发到各种目的地,包括控制台、文件、OS 日志等等。
每个 Logger 都跟踪一个“父”Logger,也就是 Logger 命名空间中与其最近的现有祖先
static Logger getLogger(String name)
为指定子系统查找或创建一个 logger。
最好是把while放在case下面。是在每个case中都写一个while(true)么?这是为什么呢?
这个问题,你可以从程序运行,来分析啊?找出,他们运行的,区别啊。
这个项目我还没看,不知道具体功能,
感觉while (true)这里感觉有点,多余,
但是,要写的话也是写在,case的下边的。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2