MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    Solved 如何将Mirai的日志用自己的方法输出

    开发交流
    2
    6
    361
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DreamVoid
      DreamVoid last edited by

      本人想使用Java开发基于mirai的项目,基本功能已经实现,现在只有一个日志的问题
      mirai会使用java的println直接打印日志,但我并不想这样做。我想知道有没有一个方法能将mirai输出的日志转交给我自己写的新的方法来处理

      1 Reply Last reply Reply Quote 0
      • DreamVoid
        DreamVoid last edited by DreamVoid

        很明显我忘记了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>
        
        

        就没事了

        1 Reply Last reply Reply Quote 0
        • Karlatemp
          Karlatemp last edited by

          如果是 mirai-console, 你需要自己实现一个前端

          如果不是 可使用 MiraiLogger.set.... 来设置日志构造器

          DreamVoid 1 Reply Last reply Reply Quote 0
          • DreamVoid
            DreamVoid @Karlatemp last edited by DreamVoid

            @karlatemp
            我的项目是基于mirai-core实现的
            在mirai-core-API-Bots中有这么一个手动覆盖日志:

            // Java
            setNetworkLoggerSupplier(bot -> /* create logger */)
            setBotLoggerSupplier(bot -> /* create logger */)
            

            而您说的MiraiLogger我只找到这个:
            why also mirailogger.png

            我必须承认,我没搞懂如何使用这两个方法来重定向日志输出到我自己的方法。

            1 Reply Last reply Reply Quote 0
            • Karlatemp
              Karlatemp last edited by

              你可以在 MiraiLogger 中找到相关实现和对应注释

              K1.png

              你需要自己实现 MiraiLogger, 或者使用 LoggerAdapters 里的方法桥接至其他日志系统, 如果选择自己实现一般建议实现 MiraiLoggerPlatformBase

              你也可以使用 V.png 来设置全局的日志构造器

              DreamVoid 1 Reply Last reply Reply Quote 0
              • DreamVoid
                DreamVoid @Karlatemp last edited by

                @karlatemp
                如果想要使用LoggerAdapters,可否告知具体用法

                1 Reply Last reply Reply Quote 0
                • DreamVoid
                  DreamVoid last edited by DreamVoid

                  很明显我忘记了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>
                  
                  

                  就没事了

                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post
                  Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact