logback-kafka-appender

logback 日志写入kafka队列

logback-kafka-appender

Logback incompatibility Warning

Due to a bug in logback-core (LOGBACK-1158), logback-kafka-appender does not work with logback 1.1.7. This bug will be fixed in the upcoming logback 1.1.8. Until 1.1.8 is released, we recommend to use logback 1.1.6.

Full configuration example

Add logback-kafka-appender and logback-classic as library dependencies to your project.

[maven pom.xml]
<dependency>
    <groupId>com.github.danielwegener</groupId>
    <artifactId>logback-kafka-appender</artifactId>
    <version>0.1.0</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.2</version>
    <scope>runtime</scope>
</dependency>
// [build.sbt]
libraryDependencies += "com.github.danielwegener" % "logback-kafka-appender" % "0.1.0"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.1.7"

This is an example logback.xml that uses a common PatternLayout to encode a log message as a string.

[src/main/resources/logback.xml]
<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- This is the kafkaAppender -->
    <appender name="kafkaAppender" class="com.github.danielwegener.logback.kafka.KafkaAppender">
            <!-- This is the default encoder that encodes every log message to an utf8-encoded string  -->
            <encoder class="com.github.danielwegener.logback.kafka.encoding.LayoutKafkaMessageEncoder">
                <layout class="ch.qos.logback.classic.PatternLayout">
                    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
                </layout>
            </encoder>
            <topic>logs</topic>
            <keyingStrategy class="com.github.danielwegener.logback.kafka.keying.RoundRobinKeyingStrategy" />
            <deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy" />

            <!-- each <producerConfig> translates to regular kafka-client config (format: key=value) -->
            <!-- producer configs are documented here: https://kafka.apache.org/documentation.html#newproducerconfigs -->
            <!-- bootstrap.servers is the only mandatory producerConfig -->
            <producerConfig>bootstrap.servers=localhost:9092</producerConfig>

            <!-- this is the fallback appender if kafka is not available. -->
            <appender-ref ref="STDOUT" />
        </appender>

    <root level="info">
        <appender-ref ref="kafkaAppender" />
    </root>
</configuration>
时间: 2024-08-21 21:02:48

logback-kafka-appender的相关文章

logback KafkaAppender 写入Kafka队列,集中日志输出.

为了减少应用服务器对磁盘的读写,以及可以集中日志在一台机器上,方便使用ELK收集日志信息,所以考虑做一个jar包,让应用集中输出日志 网上搜了一圈,只发现有人写了个程序在github 地址:https://github.com/johnmpage/logback-kafka 本来打算引用一下这个jar就完事了,没想到在pom里下不下来,只好把源码下了,拷贝了代码过来,自己修改一下. 首先,安装一个Kafka,作为一个懒得出神入化得程序员,我选择的安装方式是 启动zookeeper容器 docke

logback kafkaAppender输出日志到kafka

官网地址https://github.com/danielwegener/logback-kafka-appender 本文以spring boot项目为基础,更多的信息,请参考官网 https://github.com/danielwegener/logback-kafka-appender 使用maven引入所需要的jar包 <dependency> <groupId>com.github.danielwegener</groupId> <artifactId

windows下kafka+ELK的日志系统

用到的软件:zookeeper.kafka.logstash(6.3.2版本).ES(6.3.2版本).Kibana(6.3.2版本).具体安装步骤不在此说明,基本都是下载解压,改一下配置文件,即可使用.(以下所述均在Windows下)1.zookeeper:kafka中自带zookeeper,可以不用装zookeeper,如果想自己另装,需配置环境变量,如下:ZOOKEEPER_HOME => D:\nomalAPP\zookeeper-3.4.13path 里面加入 %ZOOKEEPER_H

SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active

趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 java -jar app.jar --spring.profiles.active=qa --server.port=8060 //生产环境 java -jar app.jar --spring.profiles.active=prod --server.port=8060 废话少说,直接上代码 app

Logback相关知识汇总

例如:%-4relative 表示,将输出从程序启动到创建日志记录的时间 进行左对齐 且最小宽度为4格式修饰符,与转换符共同使用:可选的格式修饰符位于“%”和转换符之间.第一个可选修饰符是左对齐 标志,符号是减号“-”:接着是可选的最小宽度 修饰符,用十进制数表示.如果字符小于最小宽度,则左填充或右填充,默认是左填充(即右对齐),填充符为空格.如果字符大于最小宽度,字符永远不会被截断.最大宽度 修饰符,符号是点号"."后面加十进制数.如果字符大于最大宽度,则从前面截断.点符号“.”后面

logback配置按天产生日志文件

1 依赖Jar包 pom配置 也可以根据自己的版本来 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <

日志组件 logback

一.简介 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging.logback-access访问模块与Servlet容器集成提

SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active(转)

趁今天有时间整理了一下 启动命令为 //开发环境 java -jar app.jar --spring.profiles.active=dev--server.port=8060 //测试环境 java -jar app.jar --spring.profiles.active=qa --server.port=8060 //生产环境 java -jar app.jar --spring.profiles.active=prod --server.port=8060 废话少说,直接上代码 app

.NET 日志系统的搭建:log4net+kafka+elk

前言 公司的程序日志之前都是采用log4net记录文件日志的方式,但是随着后来我们团队越来越大,项目也越来越大,我们的用户量也越来越多. 慢慢系统就暴露了很多问题,这个时候我们的日志系统已经不能满足我们的要求. 其主要有下面几个问题: 随着我们访问量的增加,我们的日志文件急剧增加 多且乱的文件日志,难以让我们对程序进行排错 文件日志的记录耗用我们应用服务器的资源,导致我们的应用服务器的处理用户请求的能力下降 我们的日志分布在多台应用服务器上,当程序遇到问题时,我们的程序员都需要找运维人员要日志,

.NET下日志系统的搭建——log4net+kafka+elk

原文:.NET下日志系统的搭建——log4net+kafka+elk .NET下日志系统的搭建——log4net+kafka+elk# 前言# 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着后来我们团队越来越大,项目也越来越大,我们的用户量也越来越多.慢慢系统就暴露了很多问题,这个时候我们的日志系统已经不能满足我们的要求.其主要有下面几个问题: 随着我们访问量的增加,我们的日志文件急剧增加 多且乱的文件日志,难以让我们对