java - Vert.x:记录到文件的最佳方式

标签 java performance vert.x

在 Vert.x 中记录到文件的最快异步方式是什么?

目的是将来自不同类(即 Class1、Class2 等)的记录器的日志写入 1 个文件(类似于“console.log”)

最佳答案

Vert.x 使用 JDK 捆绑的 JUL 日志记录框架来避免传送额外的依赖项。但是,它允许附加自定义记录器实现。

假设您希望坚持使用默认的日志记录工具,那么自定义日志处理程序就像删除日志文件并通过 java.util.logging.config.file 引用它一样简单系统属性:

  • 例如,您可以将日志记录配置文件放到您的 (fat) jar 根路径下的 config 目录下,如下所示:

    handlers = java.util.logging.MyFileHandler
    config   =
    #...
    
  • 然后您应该在启动您的 Vert.x 应用程序时在系统属性中引用该文件,如下所示:

    -Djava.util.logging.config.file=config/logging.properties
    
  • 然后您可以按如下方式访问类中的 Logger 对象:

    Logger logger = LoggerFactory.getLogger("some.package.MyClass");
    
  • 使用该记录器记录将由配置的处理程序处理的消息:

    logger.info("some informative message");
    

请注意在属性文件中使用自定义日志处理程序以强调附加您自己的处理程序的可能性(这可能会扩展默认的 FileHandler )。

查看 Vert.x 文档以获取有关如何使用 explore the logging feature 的更多信息.

关于java - Vert.x:记录到文件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32455005/

相关文章:

Java TCP重传超时

java - 无法从 Android Leanback 应用程序中的 VideoDetailsFragment 访问 getPackageManager GetActivityInfo

c# - 静态属性/函数的性能

PHP 脚本超时耗时太长

java - 我正在转换日期,但它在月份中多加了一个点如何处理

java - 没有 volatile 成员的单例

python - 哪种方法可以更快地替换字符串中最后一次出现的子字符串?

java - Vertx - 停止 verticle 实例

docker - vertx EventBus 能否用作聊天应用程序的 "Redis Pub/Sub"

java - 如何配置 Vert.x 事件总线以跨 Docker 容器集群工作?