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>
<dependency>
<groupId>io.gitee.xinsuinian</groupId>
<artifactId>fast-log-spring-boot-start</artifactId>
<version>${fast.log.version}</version>
</dependency>
Если вы используете 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>
<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>
Если вы используете 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 для запроса, если вы хотите использовать журнал ссылок, вам необходимо добавить фильтр 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
Примечание: изображения не включены в перевод.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )