【问题标题】:Getting Writer error on using TinyLog使用 TinyLog 时出现 Writer 错误
【发布时间】:2018-08-20 07:48:50
【问题描述】:

我尝试将 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.....");
    }
}

错误:-

线程“main”java.lang.ClassCastException 中的异常:java.io.FileWriter 无法转换为 org.pmw.tinylog.writers.Writer 在 TestClass.main(TestClass.java:12)

请帮助我们:)。

【问题讨论】:

    标签: tinylog


    【解决方案1】:

    您可以轻松修复它。只需导入org.pmw.tinylog.writers.FileWriter 而不是java.io.FileWriterjava.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.....");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      • 2021-06-18
      • 2014-05-30
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多