求高手解决log4j的问题!!看不懂了

LoggingEventevent;LoggerremoteLogger;event=(LoggingEvent)ois.readObject();level=event... LoggingEvent event;
Logger remoteLogger;
event = (LoggingEvent) ois.readObject();
level = event.getLevel().toString();
message = event.getMessage();
remoteLogger = hierarchy.getLogger(event.getLoggerName());
remoteLogger.callAppenders(event);
以上代码都是什么意思啊?
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.jp.hp.eprint.logserver.SocketNodeEx.run(SocketNodeEx.java:51)
at java.lang.Thread.run(Unknown Source)
有时候抛这个异常
展开
 我来答
百度网友eded07910
2012-01-03 · TA获得超过109个赞
知道答主
回答量:62
采纳率:0%
帮助的人:68.5万
展开全部
event = (LoggingEvent) ois.readObject(); 从socket流中读取日志事件
level = event.getLevel().toString(); 日志级别字符串表示:DEBUG,INFO,WARN等
message = event.getMessage(); 日志事件消息
remoteLogger = hierarchy.getLogger(event.getLoggerName());根据Logger名称获得远程日志组件
remoteLogger.callAppenders(event);远程打印日志
更多追问追答
追问
try
{ while (LogServer.running_) {
// read an event from the wire
try {
event = (LoggingEvent) ois.readObject();
} catch (SocketTimeoutException e) {
continue;
}
为什么event = (LoggingEvent) ois.readObject();第一次会成功,第二次就进入catch(SocketTimeoutException e) {}里面了呢?
追答
你看代码 是不是有setSoTimeout的调用, 意思就是说有设置读取超时时间。。 这样对端长时间不发消息过来, 就会读取超时
霜冷枫
2012-01-04
知道答主
回答量:13
采纳率:0%
帮助的人:14.2万
展开全部
看来研究log4j的人还挺多的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式