|
|
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть классы, дейтельность которых нужно логировать. Есть идея сделать единый класс Код: java 1. 2. 3. 4. 5. и потом наследоваться от этого класса: Код: java 1. 2. 3. 4. 5. 6. 7. 8. но вот здесь сразу видно, что теперь классы нельзя наследовать... Как бы это сделать по-лучше? Чтоб и наследование не запрещать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 11:39:09 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Чего вы этим добиваетесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 11:41:24 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
забыл никAOP Что с ним? Можно логировать выполнение методов. Но инджектить логгер во все классы через АОП не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 12:23:53 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну а как надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 12:31:04 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksBlazkowicz, ну а как надо? Есть два варианта. Если не хотим лишних полей. Код: java 1. Если не хотим лишних вызовов. Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 12:38:20 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Реально в больших приложениях в каждом классе есть такое статическое поле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:14:13 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksРеально в больших приложениях в каждом классе есть такое статическое поле? Нет, не в каждом. Есть огромные пласты классов, которым логирование нафиг не впаялось. Открой исходники Spring, Hibernate, Tomcat, JBoss и полистай. Где-то, например, логгер делается один раз в родительском классе, когда логика это позволяет. Но делать для этого свой родительский класс для всего вообще смысла нет. Такой подход, например, не позволит отнаследоваться от классов фреймверка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:19:43 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
ТимоНда там где необходимо логирование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 13:19:56 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksBlazkowicz, Реально в больших приложениях в каждом классе есть такое статическое поле? строка LoggerFactory.getLogger(getClass()) не несет какой-то особой функциональности, заслуживающей отдельного класса - при условии, что ты не привязываешься к конкретному логгеру, а используешь абстрактный слой типа slf4j. особенно с тех пор как slf4 varargs поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 15:40:44 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
chpasha, Просто хотелось бы что-то типа такого: Код: java 1. 2. 3. 4. 5. 6. 7. 8. но я так понял сие невозможно, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 16:32:30 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksно я так понял сие невозможно, да? Возможно, но трудозатраты не соизмеримы с результатом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 16:37:15 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, хм... ну вообще странно как-то это всё выглядит... Весьма логично было бы иметь логер там где захочешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 16:52:14 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaks, Код: java 1. логирование - это всегда сбоку-припёку. Это утилиты или сервисы. Ты хочешь Лог сделать базовым классом что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 17:01:38 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksну вообще странно как-то это всё выглядит... Весьма логично было бы иметь логер там где захочешь... Вот так вот: 13843658 можно иметь логер там где захочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 17:05:23 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Вот интересные ссылки по теме http://docs.jboss.org/seam/3/3.1.0.Final/reference/en-US/html/solder-logging.html http://stackoverflow.com/questions/7905110/logging-aspect-oriented-programming-and-dependency-injection-trying-to-make ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 17:21:59 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Blazkowiczзабыл никAOP Что с ним? Можно логировать выполнение методов. Но инджектить логгер во все классы через АОП не получится. А зачем? Пишем свою аннотацию и пользуемся ей : аннотация класса аннотация метода вплоть до аннотации строки кода(а можно и без, и все строки вида e.printStackTrace() - будут выкидываться в логгер ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 17:40:01 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksВесьма логично было бы иметь логер там где захочешь...Логирование пишется не там, "где захочешь", а там, "где нужно". Основных целей две: 1. Протоколировать работу системы так, чтобы админ мог разобраться где (не) он накосячил; 2. Протоколировать работу системы так, чтобы лог позволил разобраться с проблемой постфактум. Без отладчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 18:19:35 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
ОзверинА зачем? Пишем свою аннотацию и пользуемся ей : аннотация класса аннотация метода вплоть до аннотации строки кода(а можно и без, и все строки вида e.printStackTrace() - будут выкидываться в логгер ;) Логирование исключений это не интересно. Нужно ветвление workflow логировать. Это важно. Инжектить logger стремно. Нет контейнера, нет и логгера. Юниттесты и многое другое идёт лесом. Интересный вариант в seam (ссылки выше) - вешать сообщения на методы. Правда нужно следить чтобы никто не делал сложного ветвления внутри одного метода. Плюс довольно геморно локальные переменные как-то логировать декларативно. Не вижу ни одного варианта который был давал какие-то преимущества не имея при этом критических недостатков. Поэтому тривиальный классический подход всё ещё самый лучший. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 19:11:54 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, тривиальный подход крайне уродский, вы не находите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 20:06:53 |
|
||
|
Log в классы
|
|||
|---|---|---|---|
|
#18+
scymaksтривиальный подход крайне уродский, вы не находите? Чем именно уродский? Не более уродский чем Java в целом, на фоне модных функциональных языков. Он крайне гибкий и тем хорош. Т.е. реально нет такого сценария где бы с этим подходом возникла не решаемая проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2013, 20:13:46 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=247&tid=2130091]: |
0ms |
get settings: |
19ms |
get forum list: |
24ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
35ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 353ms |
| total: | 543ms |

| 0 / 0 |
