我尝试在一个示例应用程序中使用TinyLog,以确保理解它的工作原理,这样我就可以在我的工作应用程序中使用它。
但是,在使用时,我得到了一个异常类型强制转换编写器(编译时错误)。如果我对它进行类型转换,它会抛出运行时错误,如下所示。
代码:
import java.io.FileWriter;
import java.io.IOException;
import org.pmw.tinylog.Configurator;
import org.pmw.tinylog.Logger;
import org.pmw.tinylog.writers.ConsoleWriter;
import org.pmw.tinylog.writers.Writer;
public class TestClass {
public static void main(String[] args) throws IOException {
Configurator.defaultConfig().writer(new ConsoleWriter()).addWriter((Writer) new FileWriter("data.txt")).activate();
Logger.info("welcome to tinylog logger.....");
}
}错误:-
线程"main“java.lang.ClassCastException中出现异常:不能将java.io.FileWriter强制转换为TestClass.main处的org.pmw.tinylog.writers.Writer (TestClass.java:12)
请帮助我们:)。
发布于 2018-08-21 14:49:03
你可以很容易地修复它。只需导入org.pmw.tinylog.writers.FileWriter而不是java.io.FileWriter即可。类java.io.FileWriter是JVM的文件编写器,但您需要tinylog的文件编写器。
之后,您可以删除类强制转换"(Writer)“,因为org.pmw.tinylog.writers.FileWriter是接口org.pmw.tinylog.writers.Writer的实现。但是,类java.io.FileWriter不实现接口org.pmw.tinylog.writers.Writer。因此,报告的ClassCastException被抛出。
import org.pmw.tinylog.Configurator;
import org.pmw.tinylog.Logger;
import org.pmw.tinylog.writers.ConsoleWriter;
import org.pmw.tinylog.writers.FileWriter;
public class TestClass {
public static void main(String[] args) {
Configurator.defaultConfig().writer(new ConsoleWriter()).addWriter(new FileWriter("data.txt")).activate();
Logger.info("welcome to tinylog logger.....");
}
}https://stackoverflow.com/questions/51926215
复制相似问题