5

我正在使用 Kinesis 客户端库 (KCL) 订阅 kinesis 流。所有 KCL 日志都打印在控制台上。我需要将所有日志转储到文件中。我尝试在 src 文件夹中添加 log4j.properties 和 common-logging.properties 文件,但无法整理。

4

2 回答 2

2

KCL 在后台使用 Apache Commons Logging (common-logging)。

尝试使用包含 jcl-over-slf4j 依赖项的 slf4j(或 logback)。

这样,您的通用日志收集器 (slf4j) 将处理您的应用程序日志和由org.apache.commons.logging.LogAmazon 类中的接口生成的日志。

于 2016-02-25T14:42:10.463 回答
0

你也可以使用 logback.xml

./bin/kcl-bootstrap --java /usr/local/openjdk-8/bin/java --log-configuration ./properties/logback.xml -p ./properties/kcl.properties

使用以下内容创建 logback.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="DEBUG" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d [%thread] %-5level %logger{36} [%mdc{ShardId:-NONE}] - %msg %n</pattern>
    </encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>smlogs.log</file>
    <append>true</append>
    <!-- set immediateFlush to false for much higher logging throughput -->
    <immediateFlush>true</immediateFlush>
    <!-- encoders are assigned the type
        ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>
<root level="DEBUG">
    <appender-ref ref="DEBUG" />
      <appender-ref ref="FILE" />
</root>
于 2020-10-13T20:07:47.267 回答