使用 Loghub log4j Appender上传日志实战

2022-01-22 20:52:02 浏览数 (2)

先看效果:

一、工程引入和配置

1、Maven配置

代码语言:javascript复制
<dependency>
    <groupId>com.tencentcloudapi.cls</groupId>
    <artifactId>tencentcloud-cls-log4j-appender</artifactId>
    <version>1.0.2</version>
</dependency>

2、log4j.properties配置

代码语言:javascript复制
log4j.rootLogger=DEBUG,loghubAppender
#loghubAppender
log4j.appender.loghubAppender=com.tencentcloudapi.cls.LoghubAppender
#日志服务的http地址,必选参数
log4j.appender.loghubAppender.endpoint=ap-chengdu.cls.tencentcs.com
#用户身份标识,必选参数
log4j.appender.loghubAppender.accessKeyId=自己的的SecretId
log4j.appender.loghubAppender.accessKeySecret=自己的的SecretKey
#设置log字段的格式,必选参数
log4j.appender.loghubAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.loghubAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
#指定日志主题,可选参数
log4j.appender.loghubAppender.topicID =自己的主题ID
#指定日志来源,可选参数
log4j.appender.loghubAppender.source =
#单个 producer 实例能缓存的日志大小上限,默认为 100MB。
log4j.appender.loghubAppender.totalSizeInBytes=104857600
#如果 producer 可用空间不足,调用者在 send 方法上的最大阻塞时间,默认为 60 秒。为了不阻塞打印日志的线程,强烈建议将该值设置成 0。
log4j.appender.loghubAppender.maxBlockMs=0
#执行日志发送任务的线程池大小,默认为可用处理器个数。
log4j.appender.loghubAppender.sendThreadCount=8
#当一个 ProducerBatch 中缓存的日志大小大于等于 batchSizeThresholdInBytes 时,该 batch 将被发送,默认为 512 KB,最大可设置成 5MB。
log4j.appender.loghubAppender.batchSizeThresholdInBytes=524288
#当一个 ProducerBatch 中缓存的日志条数大于等于 batchCountThreshold 时,该 batch 将被发送,默认为 4096,最大可设置成 40960。
log4j.appender.loghubAppender.batchCountThreshold=4096
#一个 ProducerBatch 从创建到可发送的逗留时间,默认为 2 秒,最小可设置成 100 毫秒。
log4j.appender.loghubAppender.lingerMs=2000
#如果某个 ProducerBatch 首次发送失败,能够对其重试的次数,默认为 10 次。
#如果 retries 小于等于 0,该 ProducerBatch 首次发送失败后将直接进入失败队列。
log4j.appender.loghubAppender.retries=10
#该参数越大能让您追溯更多的信息,但同时也会消耗更多的内存。
log4j.appender.loghubAppender.maxReservedAttempts=11
#首次重试的退避时间,默认为 100 毫秒。
#Producer 采样指数退避算法,第 N 次重试的计划等待时间为 baseRetryBackoffMs * 2^(N-1)。
log4j.appender.loghubAppender.baseRetryBackoffMs=100
#重试的最大退避时间,默认为 50 秒。
log4j.appender.loghubAppender.maxRetryBackoffMs=50000

#设置时间格式,可选参数
log4j.appender.loghubAppender.timeFormat=yyyy-MM-dd'T'HH:mm:ssZ
#设置时区为东八区,可选参数
log4j.appender.loghubAppender.timeZone=Asia/Shanghai
#输出INFO级别及以上的消息
log4j.appender.loghubAppender.Threshold=DEBUG

二、新建测试类并运行

代码语言:javascript复制
import org.apache.log4j.Logger;

class Test_Loghub_log4j_Appende {

    private  static  final  org.apache.log4j.Logger  Logger= org.apache.log4j.Logger.getLogger(org.apache.log4j.Logger.class);

    public static void main(String[] args) {

        Logger.info("测试");

    }
}

三、CLS控制台配置索引

可以了可以了

四、JDK环境

0 人点赞