gpt4 book ai didi

java - Log4J 看起来不适合与 sudo 一起使用

转载 作者:行者123 更新时间:2023-12-01 16:28:35 27 4
gpt4 key购买 nike

我有一个 Java 应用程序,我正在尝试在 Linux 启动上运行该应用程序。问题是 Log4J 看起来不适合使用命令“runuser”、“sudo”和“su”。每次我都会收到错误:

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
(30/05/2020-15:16:11.825) [FATAL] Unable to log file
Exception in thread "main" java.lang.NullPointerException
at me.inao.discordbot.util.Logger.<init>(Logger.java:28)
at me.inao.discordbot.Main.loadConfig(Main.java:65)
at me.inao.discordbot.Main.starter(Main.java:46)
at me.inao.discordbot.Main.main(Main.java:43)

应用程序是开源的,所以这是我的完整源代码:https://github.com/onemoreplays/bufferBot这会发生在其他人身上吗?这是因为我不好的编程习惯还是其他地方的错误?

感谢您的帮助。
雅库布。

最佳答案

Main#getApi() 方法在 Logger 构造函数中执行。但是,根据堆栈跟踪,当前记录器是在 Main#loadConfig() 方法(Main.java,第 46 行)中实例化的,在 api 字段实际初始化之前(Main .java,第 47 行)。

更新:Logger 构造函数中描述的问题隐藏了在 loadConfig 方法的 try..catch block 中引发的原始异常。原始问题最可能的原因是访问根目录下的“config.json”文件。但最好的方法是修复 Logger 类中的 NPE,这样您将看到原始异常的堆栈跟踪。

将 Logger 与业务逻辑分离可能是一个好主意。

关于java - Log4J 看起来不适合与 sudo 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com