最近搭建IOTA私有网络,出现了很多错误,记录之。项目中使用slf4j作为日志记录的接口。
错误一:
这是在使用java客户端发送消息时出现的错误。根据错误提示是没有绑定具体实现的logger,slf4j-api定义了日记操作的api,需要用户绑定具体的日志实现框架,如log4j。
解决方法如下:
添加maven依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
再根据IDEA提示下载相关模块,即可
错误二:
log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info
这是在解决好上一个错误后再次运行客户端出现的错误。log4j的简短介绍 http://logging.apache.org/log4j/1.2/manual.html ,该指南将为您提供有关如何使用loggers和appenders的一些信息。
解决方法有两种:
第一种在程序主方法处添加如下代码(我使用的这一种方法):
BasicConfigurator.configure();
第二种方法是将这个标准的log4j.properties(取自上面提到的指南)文件添加到你的类路径::
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n