Hazelcast 自定义日志文件

Hazelcast custom log file

我正在使用 Hazelcast IMDG (v3.8.2)。

是否可以更改 Hazelcast 写入的日志文件?目前,所有 Hazelcast 日志都写入了我的 catalina.out,但我想将它们写入其他文件 - 比方说 "hazelcast.log".

无法从文档中真正弄清楚如何做到这一点 - 它只提到更改记录器类型和级别: http://docs.hazelcast.org/docs/3.8.2/manual/html-single/index.html#logging-configuration

http://docs.hazelcast.org/docs/2.0/manual/html/ch13s11.html

Hazelcast 支持多种日志记录框架,您可以从中选择一个。

  • jdk:JDK 日志记录(默认)
  • log4j:Log4j
  • slf4j:Slf4j
  • none:禁用日志记录

例如如果您要使用 log4j,那么您需要配置一个属性文件,将所有 Hazelcast 日志记录路由到所需的文件。

Hazelcast 配置xml

<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-2.0.xsd"
    xmlns="http://www.hazelcast.com/schema/config"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    ...
    <properties>
        <property name="hazelcast.logging.type">log4j</property>
    </properties>
    ...
</hazelcast>

log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    ...
    <!-- TODO: define the file appender -->
    ...
    <logger name="com.hazelcast" level="INFO" additivity="false">
        <appender-ref ref="myfileappender"/>
    </logger>
    ...
</configuration>

使用 hazelcast.logging.typeslf4j,然后您可以与 Web 容器或 jar 文件的记录器相吻合

尽可能不要直接或间接使用 log4j。这意味着 Log4j ONE 是一个死项目。

如果您使用 slf4j,您可以使用 Log4j TWO 或其他各种适合您的记录器。

Log4j 一 - https://logging.apache.org/log4j/1.2/ Log4j 两个 - https://logging.apache.org/log4j/2.x/