我尝试将TinyLog用于示例应用程序,以确保了解其工作原理,以便可以将其用于我的工作应用程序。
但是,在使用时,我得到一个异常来强制类型转换Writer(编译时错误)。如果我进行类型转换,则会引发如下运行时错误。
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.....");
}
}
线程“主”中的异常java.lang.ClassCastException:java.io.FileWriter无法转换为org.pmw.tinylog.writers.Writer 在TestClass.main(TestClass.java:12)
请帮助我们:)。
答案 0 :(得分:0)
您可以轻松修复它。只需导入org.pmw.tinylog.writers.FileWriter
而不是java.io.FileWriter
。类java.io.FileWriter
是JVM的文件编写器,但您需要tinylogs文件编写器。
然后,您可以删除强制转换为(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.....");
}
}