storm中使用log出现java.lang.RuntimeException: java.io.NotSerializableException: java.util.logging.Logger
2014-08-25 14:27
591 查看
在storm中,想自己去写日志,使用的是如下方法:
在bolt中,直接进行loger的声明:
接触就出现了如下的异常
解决方法是:要将这个声明转换为静态的声明:
Logger loger =Logger.getLogger("test.Test"); FileHandler fh = new FileHandler("c:/test.log",true);//方法返回日志文件存放的路径 loger.addHandler(fh); loger.setLevel(Level.ALL); SimpleFormatter sf = new SimpleFormatter(); fh.setFormatter(sf); loger.log(Level.INFO, "这是一个消息"); loger.log(Level.WARNING, "这是一个警告"); loger.log(Level.SEVERE, "这是一个服务器消息"); loger.info( "---> fail");
在bolt中,直接进行loger的声明:
Logger loger =Logger.getLogger("test.Test");
接触就出现了如下的异常
java.lang.RuntimeException: java.io.NotSerializableException: java.util.logging.Logger at backtype.storm.utils.Utils.serialize(Utils.java:57) ~[storm-core-0.9.0.1.jar:na] at backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:89) ~[storm-core-0.9.0.1.jar:na] at lotuseed.experiment.StormQLTopology.main(StormQLTopology.java:37) ~[experiment.jar:na] Caused by: java.io.NotSerializableException: java.util.logging.Logger at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) ~[na:1.7.0_51] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547) ~[na:1.7.0_51] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508) ~[na:1.7.0_51] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431) ~[na:1.7.0_51] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177) ~[na:1.7.0_51] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347) ~[na:1.7.0_51] at backtype.storm.utils.Utils.serialize(Utils.java:53) ~[storm-core-0.9.0.1.jar:na] ... 2 common frames omitted
解决方法是:要将这个声明转换为静态的声明:
private static Logger loger =Logger.getLogger("test.Test");
相关文章推荐
- shiro 使用缓存时出现:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource
- storm java.lang.RuntimeException: java.io.NotSerializableException: 异常
- shiro 使用缓存时出现:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource
- 使用缓存时出现java.io.NotSerializableException:xxx.xxx.xxx.Bean解决办法
- Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger
- Caused by: java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory
- 运行mapreduce程序时出现异常java.lang.RuntimeException: java.lang.ClassNotFoundException的原因
- linux中使用hbase出现 Failed to start master java.lang.RuntimeException: HMaster Aborted
- 使用TabHost初始化tab控件时出现java.lang.RuntimeException: Unable to start activity ComponentInfo备忘
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
- java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
- eclipse+tomcat出错“Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
- Storm初始化报错java.io.NotSerializableException
- java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger
- android中使用fragment时出现如下错误 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fra
- ActiveMQ 使用IBM JDK 时报 java.io.FileNotFoundException: logging.properties
- 关于升级ADT22后无法使用jar包、bundle库,出现java.lang.ClassNotFoundException错误的解决
- Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger
- 出现java.io.NotSerializableException错误。