gpt4 book ai didi

java - 创建新的记录器

转载 作者:行者123 更新时间:2023-12-02 13:00:52 25 4
gpt4 key购买 nike

我正在尝试为我的插件创建一个新的记录器。但是它不会向文件写入任何内容。日志记录事件没有提供任何错误。如果我不提供处理程序,我可以在控制台中获取所有日志事件。

看起来记录器正在处理该文件,因为它创建了一个 chatlog.log.lck 文件。

接下来,有没有办法将记录到我的"new"记录器和控制台的内容也记录下来?

private void setupLogger() {

logger = Logger.getLogger("WeChat");

File lf = new File(getDataFolder() + File.separator + "logs");

if (!(lf.exists())){
lf.mkdirs();
}

try {
FileHandler fh = new FileHandler(getDataFolder() + File.separator + "logs" + File.separator + "chatlog.log", true);
SimpleFormatter fmt = new SimpleFormatter();
fh.setFormatter(fmt);
logger.addHandler(fh);
logger.setLevel(Level.INFO);
} catch (SecurityException | IOException e) {
e.printStackTrace();
}

}

我再次可以在控制台中获取输入,只是没有文件

[23:48:24 INFO]: [WeChat] [Channel TheLounge] WASasquatch: Hello everyone!?
[23:48:30 INFO]: [WeChat] [Channel TheLounge] WASasquatch: Test test
[23:48:36 INFO]: [WeChat] [Channel TheLounge] WASasquatch: This in the log file now?

最佳答案

FileHandler中有一个构造函数设置文件是否附加。 (如果需要的话,要设置滚动文件系统,存在没有滚动系统的相同构造函数)。

public FileHandler(String pattern,
int limit,
int count,
boolean append)
throws IOException,
SecurityException

根据需要定义此处理程序的级别,默认为 Level.ALL

这是一个快速示例:

public class Main {

static Logger logger;

public static void main(String[] args) {
logger = Logger.getLogger("Main");
FileHandler fh;

File lf = new File("data" + File.separator + "logs" + File.separator + "chatlog.log");

if (!(lf.getParentFile().exists())){
lf.getParentFile().mkdirs();
}


try {
fh = new FileHandler(lf.getCanonicalPath(), 8096, 1, true);
logger.addHandler(fh);
logger.setLevel(Level.INFO);
SimpleFormatter fmt = new SimpleFormatter();
fh.setFormatter(fmt);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

logger.info("foo");
logger.info("bar");
}
}

请注意更新为使用 File 实例路径,而不是重新创建字符串。

我使用的文件夹不存在。启动该进程两次,并且按照预期,该文件作为两次执行的行。

关于java - 创建新的记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43797413/

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