Solved 如何将Mirai的日志用自己的方法输出
-
本人想使用Java开发基于mirai的项目,基本功能已经实现,现在只有一个日志的问题
mirai会使用java的println直接打印日志,但我并不想这样做。我想知道有没有一个方法能将mirai输出的日志转交给我自己写的新的方法来处理 -
很明显我忘记了asMiraiLogger这个东西(笑
这样写setBotLoggerSupplier(bot -> LoggerAdapters.asMiraiLogger(<这里放上我的Logger>));
再在maven的pom.xml加个依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency>
就没事了
-
如果是 mirai-console, 你需要自己实现一个前端
如果不是 可使用 MiraiLogger.set.... 来设置日志构造器
-
@karlatemp
我的项目是基于mirai-core实现的
在mirai-core-API-Bots中有这么一个手动覆盖日志:// Java setNetworkLoggerSupplier(bot -> /* create logger */) setBotLoggerSupplier(bot -> /* create logger */)
而您说的MiraiLogger我只找到这个:
我必须承认,我没搞懂如何使用这两个方法来重定向日志输出到我自己的方法。
-
你可以在
MiraiLogger
中找到相关实现和对应注释你需要自己实现 MiraiLogger, 或者使用
LoggerAdapters
里的方法桥接至其他日志系统, 如果选择自己实现一般建议实现MiraiLoggerPlatformBase
你也可以使用
来设置全局的日志构造器
-
@karlatemp
如果想要使用LoggerAdapters,可否告知具体用法 -
很明显我忘记了asMiraiLogger这个东西(笑
这样写setBotLoggerSupplier(bot -> LoggerAdapters.asMiraiLogger(<这里放上我的Logger>));
再在maven的pom.xml加个依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency>
就没事了