1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/XinSuiNian-fast-log

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

fast-log

Введение

fast-log, также известный как «журнал быстрой сортировки», предназначен для облегчения поиска в журналах разработчиками.

Поддерживает сбор журналов logback и log4j2 без вмешательства в бизнес-логику.

Поддерживает поиск по журналу ссылок. Требуется версия ES 7.2.0 или выше.

Архитектура программного обеспечения

Описание архитектуры программного обеспечения. Архитектура программного обеспечения

Инструкция по установке

<dependency>
    <groupId>io.gitee.xinsuinian</groupId>
    <artifactId>fast-log-spring-boot-start</artifactId>
    <version>${fast.log.version}</version>
</dependency>

Использование

Использование с logback

  1. Зависимость:
<dependency>
    <groupId>io.gitee.xinsuinian</groupId>
    <artifactId>fast-log-spring-boot-start</artifactId>
    <version>${fast.log.version}</version>
</dependency>
  1. Способ использования:

Если вы используете RocketMQ для сбора журналов, конфигурация logback будет выглядеть следующим образом:

<appender name="rocketMqAppender" class="com.lwq.fast.log.fastlogclient.logback.appender.RocketMqAppender">
    <appName>payment</appName>
    <env>dev</env>
    <namesrvAddr>localhost:9876</namesrvAddr>
</appender>

<root level="INFO">
    <appender-ref ref="rocketMqAppender" />
</root>

Если вы используете RabbitMQ для сбора журналов, добавьте следующую конфигурацию в файл конфигурации logback:

<appender name="rabbitLogAppender" class="com.lwq.fast.log.fastlogclient.logback.appender.RabbitMqAppender">
    <appName>payment</appName>
    <env>dev</env>
    <host>localhost</host>
    <port>5672</port>
    <virtualHost>/</virtualHost>
    <username>guest</username>
    <password>guest</password>
</appender>

<root level="INFO">
    <appender-ref ref="rabbitLogAppender" />
</root>

Если вы используете Redis для сбора журналов, добавьте следующую конфигурацию в logback:

<appender name="redisLogAppender" class="com.lwq.fast.log.fastlogclient.logback.appender.RedisAppender">
    <appName>payment</appName>
    <env>dev</env>
    <host>localhost</host>
    <port>6379</port>
    <auth></auth>
</appender>

<root level="INFO">
    
    <appender-ref ref="redisLogAppender" />
    
</root>

Использование с log4j2

  1. Зависимости:
<dependency>
    <groupId>io.gitee.xinsuinian</groupId>
    <artifactId>fast-log-spring-boot-start</artifactId>
    <<exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  1. Способ использования:

Если вы используете RocketMQ для сбора журналов, настройте log4j2 следующим образом:

<appenders>
<Log4jRocketMqAppender name="RocketmqMqAppender" appName="payment" env="dev" namesrvAddr="localhost:9876" >
    <PatternLayout pattern="${LOG_PATTERN}"/>
</Log4jRocketMqAppender>

   <root level="info">
       <appender-ref ref="RocketmqMqAppender"/>
   </root>

Если вы используете RabbitMQ для сбора журналов, настройте log4j2 следующим образом:

<appenders>
<Log4jRabbitMqAppender name="RabbitMqAppender" appName="payment" env="dev" host="localhost" port="5672" virtualHost="/" username="guest" password="guest">
    <PatternLayout pattern="${LOG_PATTER}"/>
</Log4jRabbitMqAppender>
</appenders>

<root level="info">
    <appender-ref ref="RabbitMqAppender"/>
</root>

Если вы используете redis для сбора журналов, настройте log4j2 следующим образом:

<appenders>
<Log4jRedisAppender name="Log4jRedisAppender" appName="payment" env="dev" host="localhost" port="6379" auth="">
    <PatternLayout pattern="${LOG_PATTERN}"/>
</Log4jRedisAppender>
</appenders>
<root level="info">
<appender-ref ref="Log4jRedisAppender"/>
    </root>

Поиск по журналу

Использование при нормальных запросах

После добавления зависимости, указанной выше, и запуска класса с параметром сканирования пакетов, чтобы предотвратить несоответствие базовых пакетов и привести к сбою, выполните следующие действия:

@SpringBootApplication(scanBasePackages = {"com.lwq.*"})

После запуска с указанным пакетом сканирования будет создан журнал цепочки запросов, который также поддерживает вызов журнала feign.

Использование в запланированных задачах

Если вы хотите использовать журналы в запланированных задачах, вы можете добавить @EnableTrace аннотацию к соответствующему методу запланированной задачи.

Использование RestTemplate

При использовании RestTemplate для запроса, если вы хотите использовать журнал ссылок, вам необходимо добавить фильтр RestTemplateHeaderInterceptor. Конфигурация на стороне сервера выглядит следующим образом:

server.port=8081

# Активный клиент, используемый для сбора журналов. Возможные варианты: rabbitMq, redis, rocketmq
active.client=rocketmq

# Если активный клиент — rabbitMq, необходимо настроить информацию о rabbitmq
rabbitmq.config.host=localhost
rabbitmq.config.port=5672
rabbitmq.config.virtual-host=/
rabbitmq.config.username=guest
rabbitmq.config.password=guest

# Если активным клиентом является redis, необходимо настроить информацию о redis
redis.config.host=localhost
redis.config.port=6379
# Если пароля нет, можно не указывать
redis.config.auth=
redis.config.timeout=5000
redis.config.maxIdle=50
redis.config.maxWaitMillis=3000
redis.config.maxTotal=500
# Время блокировки при пустом сервере redis очереди в секундах
redis.sleep.timeout=10

# Если активен rocketmq, необходимо настроить информацию о rocketmq
rocketmq.config.namesrv_addr=localhost:9876
# Размер пакета при пакетном извлечении
rocketmq.config.pull_batch_size=10
# Максимальное количество сообщений, которые могут быть обработаны одновременно
rocketmq.config.consume_message_batch_max_size=10
# Порог для очереди при извлечении
rocketmq.config.pull_threshold_for_queue=1000
# Минимальное количество потребительских потоков
rocketmq.config.consume_thread_min=3
# Максимальное количество потребительских потоков
rocketmq.config.consume_thread_max=5





# Конфигурация es
elasticsearch.schema=http
elasticsearch.address=127.0.0.1:9200
elasticsearch.connectTimeout=5000
elasticsearch.socketTimeout=5000
elasticsearch.connectionRequestTimeout=5000
elasticsearch.maxConnectNum=100
elasticsearch.maxConnectPerRoute=100
# Если установлены имя пользователя и пароль, они должны быть указаны здесь
elasticsearch.user=
# Если установлены имя пользователя и пароль, они должны быть указаны здесь
elasticsearch.pwd=

# Количество фрагментов индекса
elasticsearch.index.shards=3
# Количество реплик индекса
elasticsearch.index.replicas=2

spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false
spring.thymeleaf.encoding=UTF-8

Вклад участников

  1. Форк этого репозитория.
  2. Создать ветку Feat_xxx.
  3. Отправить код.
  4. Создать запрос на вытягивание (Pull Request).

Навыки

Примечание: изображения не включены в перевод.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

fast-log поддерживает сбор логов logback и log4j2 для удобства разработчиков при поиске в журналах. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/XinSuiNian-fast-log.git
git@api.gitlife.ru:oschina-mirror/XinSuiNian-fast-log.git
oschina-mirror
XinSuiNian-fast-log
XinSuiNian-fast-log
master