Я создал простое приложение hello world для проверки ведения журналов с помощью Quarkus. Я заметил, что @LoggerName, похоже, не работает должным образом.
Я создал класс
package org.acme.customlogger;
import org.jboss.logging.Logger;
import io.quarkus.arc.log.LoggerName;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
@ApplicationScoped
public class MyCustomLogger {
@LoggerName("foo.bar.logger")
Logger logger;
@Inject
Logger log;
public void log() {
logger.info("loggername");
log.info("regular inject");
}
}
и тест
package org.acme;
import org.acme.customlogger.MyCustomLogger;
import org.junit.jupiter.api.Test;
import io.quarkus.test.junit.QuarkusTest;
import jakarta.inject.Inject;
@QuarkusTest
public class CustomLoggerTest {
@Inject
MyCustomLogger myCustomLogger;
@Test
public void quarkus_log_test() {
myCustomLogger.log();
}
}
в тесте я вижу результат
Oct 12, 2024 10:48:33 AM org.acme.customlogger.MyCustomLogger log
INFO: loggername
Oct 12, 2024 10:48:33 AM org.acme.customlogger.MyCustomLogger log
INFO: regular inject
чего не ожидается, я предполагаю, что foo.bar.logger будет использоваться вместо org.acme.customlogger.MyCustomLogger для строки INFO: loggername
Вот мой pom-файл, чтобы вы могли увидеть версии
& l t ; m o d e l V e r s i o n & g t ; 4 . 0 . 0 & l t ; / m o d e l V e r s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . a c m e & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; c o d e - w i t h - q u a r k u s & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 1 . 0 . 0 - S N A P S H O T & l t ; / v e r s i o n & g t ; < b r / > < b r / > & l t ; p r o p e r t i e s & g t ; < b r / > & l t ; c o m p i l e r - p l u g i n . v e r s i o n & g t ; 3 . 1 3 . 0 & l t ; / c o m p i l e r - p l u g i n . v e r s i o n & g t ; < b r / > & l t ; m a v e n . c o m p i l e r . r e l e a s e & g t ; 2 1 & l t ; / m a v e n . c o m p i l e r . r e l e a s e & g t ; < b r / > & l t ; p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; U T F - 8 & l t ; / p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; < b r / > & l t ; p r o j e c t . r e p o r t i n g . o u t p u t E n c o d i n g & g t ; U T F - 8 & l t ; / p r o j e c t . r e p o r t i n g . o u t p u t E n c o d i n g & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . a r t i f a c t - i d & g t ; q u a r k u s - b o m & l t ; / q u a r k u s . p l a t f o r m . a r t i f a c t - i d & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . g r o u p - i d & g t ; i o . q u a r k u s . p l a t f o r m & l t ; / q u a r k u s . p l a t f o r m . g r o u p - i d & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . v e r s i o n & g t ; 3 . 1 5 . 1 & l t ; / q u a r k u s . p l a t f o r m . v e r s i o n & g t ; < b r / > & l t ; s k i p I T s & g t ; t r u e & l t ; / s k i p I T s & g t ; < b r / > & l t ; s u r e f i r e - p l u g i n . v e r s i o n & g t ; 3 . 3 . 1 & l t ; / s u r e f i r e - p l u g i n . v e r s i o n & g t ; < b r / > & l t ; / p r o p e r t i e s & g t ; < b r / > < b r / > & l t ; d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > & l t ; d e p e n d e n c i e s & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; $ { q u a r k u s . p l a t f o r m . g r o u p - i d } & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; $ { q u a r k u s . p l a t f o r m . a r t i f a c t - i d } & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; $ { q u a r k u s . p l a t f o r m . v e r s i o n } & l t ; / v e r s i o n & g t ; < b r / > & l t ; t y p e & g t ; p o m & l t ; / t y p e & g t ; < b r / > & l t ; s c o p e & g t ; i m p o r t & l t ; / s c o p e & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; / d e p e n d e n c i e s & g t ; < b r / > & l t ; / d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > < b r / > & l t ; d e p e n d e n c i es>
io.quarkus
quarkus-rest
io.quarkus
quarkus-rest-jackson
io.quarkus
quarkus-arc
io.quarkus
quarkus-junit5
test
io.rest-assured
rest-assured
test
${quarkus.platform.group-id}
quarkus-maven-plugin
${quarkus.platform.version}
true
build
generate-code
generate-code-tests
native-image-agent
maven-compiler-plugin
${compiler-plugin.version}
true
maven-surefire-plugin
${surefire-plugin.version}
org.jboss.logmanager.LogManager
${maven.home}
maven-failsafe-plugin
${surefire-plugin.version}
integration-test
verify
${project.build.directory}/${project.build.finalName}-runner
org.jboss.logmanager.LogManager
${maven.home}
native
native
false
true
Я попробовал установить категорию в application.properties. Это единственные настройки в моем приложении.Свойства
quarkus.log.level=DEBUG
quarkus.log.category."foo.bar.logger".level=DEBUG
но в этом тоже нет необходимости
https://quarkus.io/guides/logging
< h2>Тестирование на основе комментариев
Если я добавлю quarkus.log.category."foo.bar.logger".level=ERROR, я все равно увижу оба сообщения журнала
oct 12, 2024 7:52:50 PM org.acme.customlogger.MyCustomLogger log
INFO: loggername
Oct 12, 2024 7:52:50 PM org.acme.customlogger.MyCustomLogger log
INFO: regular inject
Подробнее здесь: https://stackoverflow.com/questions/790 ... ogger-name
Регистратор Quarkus не использует имя регистратора ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1728755715
Anonymous
Я создал простое приложение hello world для проверки ведения журналов с помощью Quarkus. Я заметил, что @LoggerName, похоже, не работает должным образом.
Я создал класс
package org.acme.customlogger;
import org.jboss.logging.Logger;
import io.quarkus.arc.log.LoggerName;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
@ApplicationScoped
public class MyCustomLogger {
@LoggerName("foo.bar.logger")
Logger logger;
@Inject
Logger log;
public void log() {
logger.info("loggername");
log.info("regular inject");
}
}
и тест
package org.acme;
import org.acme.customlogger.MyCustomLogger;
import org.junit.jupiter.api.Test;
import io.quarkus.test.junit.QuarkusTest;
import jakarta.inject.Inject;
@QuarkusTest
public class CustomLoggerTest {
@Inject
MyCustomLogger myCustomLogger;
@Test
public void quarkus_log_test() {
myCustomLogger.log();
}
}
в тесте я вижу результат
Oct 12, 2024 10:48:33 AM org.acme.customlogger.MyCustomLogger log
INFO: loggername
Oct 12, 2024 10:48:33 AM org.acme.customlogger.MyCustomLogger log
INFO: regular inject
чего не ожидается, я предполагаю, что foo.bar.logger будет использоваться вместо org.acme.customlogger.MyCustomLogger для строки INFO: loggername
Вот мой pom-файл, чтобы вы могли увидеть версии
& l t ; m o d e l V e r s i o n & g t ; 4 . 0 . 0 & l t ; / m o d e l V e r s i o n & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . a c m e & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; c o d e - w i t h - q u a r k u s & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; 1 . 0 . 0 - S N A P S H O T & l t ; / v e r s i o n & g t ; < b r / > < b r / > & l t ; p r o p e r t i e s & g t ; < b r / > & l t ; c o m p i l e r - p l u g i n . v e r s i o n & g t ; 3 . 1 3 . 0 & l t ; / c o m p i l e r - p l u g i n . v e r s i o n & g t ; < b r / > & l t ; m a v e n . c o m p i l e r . r e l e a s e & g t ; 2 1 & l t ; / m a v e n . c o m p i l e r . r e l e a s e & g t ; < b r / > & l t ; p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; U T F - 8 & l t ; / p r o j e c t . b u i l d . s o u r c e E n c o d i n g & g t ; < b r / > & l t ; p r o j e c t . r e p o r t i n g . o u t p u t E n c o d i n g & g t ; U T F - 8 & l t ; / p r o j e c t . r e p o r t i n g . o u t p u t E n c o d i n g & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . a r t i f a c t - i d & g t ; q u a r k u s - b o m & l t ; / q u a r k u s . p l a t f o r m . a r t i f a c t - i d & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . g r o u p - i d & g t ; i o . q u a r k u s . p l a t f o r m & l t ; / q u a r k u s . p l a t f o r m . g r o u p - i d & g t ; < b r / > & l t ; q u a r k u s . p l a t f o r m . v e r s i o n & g t ; 3 . 1 5 . 1 & l t ; / q u a r k u s . p l a t f o r m . v e r s i o n & g t ; < b r / > & l t ; s k i p I T s & g t ; t r u e & l t ; / s k i p I T s & g t ; < b r / > & l t ; s u r e f i r e - p l u g i n . v e r s i o n & g t ; 3 . 3 . 1 & l t ; / s u r e f i r e - p l u g i n . v e r s i o n & g t ; < b r / > & l t ; / p r o p e r t i e s & g t ; < b r / > < b r / > & l t ; d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > & l t ; d e p e n d e n c i e s & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; $ { q u a r k u s . p l a t f o r m . g r o u p - i d } & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; $ { q u a r k u s . p l a t f o r m . a r t i f a c t - i d } & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; $ { q u a r k u s . p l a t f o r m . v e r s i o n } & l t ; / v e r s i o n & g t ; < b r / > & l t ; t y p e & g t ; p o m & l t ; / t y p e & g t ; < b r / > & l t ; s c o p e & g t ; i m p o r t & l t ; / s c o p e & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; / d e p e n d e n c i e s & g t ; < b r / > & l t ; / d e p e n d e n c y M a n a g e m e n t & g t ; < b r / > < b r / > & l t ; d e p e n d e n c i es>
io.quarkus
quarkus-rest
io.quarkus
quarkus-rest-jackson
io.quarkus
quarkus-arc
io.quarkus
quarkus-junit5
test
io.rest-assured
rest-assured
test
${quarkus.platform.group-id}
quarkus-maven-plugin
${quarkus.platform.version}
true
build
generate-code
generate-code-tests
native-image-agent
maven-compiler-plugin
${compiler-plugin.version}
true
maven-surefire-plugin
${surefire-plugin.version}
org.jboss.logmanager.LogManager
${maven.home}
maven-failsafe-plugin
${surefire-plugin.version}
integration-test
verify
${project.build.directory}/${project.build.finalName}-runner
org.jboss.logmanager.LogManager
${maven.home}
native
native
false
true
Я попробовал установить категорию в application.properties. Это единственные настройки в моем приложении.Свойства
quarkus.log.level=DEBUG
quarkus.log.category."foo.bar.logger".level=DEBUG
но в этом тоже нет необходимости
https://quarkus.io/guides/logging
< h2>Тестирование на основе комментариев
Если я добавлю quarkus.log.category."foo.bar.logger".level=ERROR, я все равно увижу оба сообщения журнала
oct 12, 2024 7:52:50 PM org.acme.customlogger.MyCustomLogger log
INFO: loggername
Oct 12, 2024 7:52:50 PM org.acme.customlogger.MyCustomLogger log
INFO: regular inject
Подробнее здесь: [url]https://stackoverflow.com/questions/79080659/quarkus-logger-does-not-use-the-logger-name[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия