|
|
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Есть некая система, умеющая хранить данные в своём формате, JDBC не поддерживается. Система имеет Java API. Система имеет свою систему логирования к которой хотелось бы "подключится". Никто не знает как можно сделать свой аппендер для сохранения лога в своём нестандартном виде, формате и пр. для какой-нибудь системы логирования, например commons logging, slf4j или ещё какой-нибудь? Существует ли какой-нибудь guide на эту тему? Если кто не понял, речь не идёт о форматировании вывода лога. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2015, 15:21 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Няня, я у них поел. Если речь про аппендер, то при чем тут форматирование. Если речь про кастомный логгер, то при чем тут commons logging/slf4j? Хочется логировать через стандартный API, а писать лог в какой-то левый формат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2015, 15:27 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Garrick, скачать исходники logback и посмотреть как там сделано. Ну или не logback, а ваш любимый логгер. Сделать так же, только свое. Я когда то делал и скажу, что там все легко - всего пара-тройка интерфейсов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2015, 15:53 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Garrick, у них конфиг недоступен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2015, 16:22 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Узнать, какой логгер там используется, затем в его описании посмотреть, какие там настройки. Логгер скорее всего один из обычных, но возможно, к нему сделана своя оболочка (что не имеет смысла, но бывает). Узнать можно по включаемым в программу классам и/или по файлам настроек логирования (которые поискать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2015, 20:50 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Система - Lotus Notes. Лог пишет в свою базу, база нереляционная, есть Java API. JVM своя от IBM, есть некоторые отличия от оракловой. Хотелось бы задействовать какой-либо стандартный логгер, чтобы при желании можно было переключаться с Lotus Notes на какой-нибудь log4j и т.п. с выводом в обычный файл. Поэтому возникла идея написать свой аппендер для какой-нибудь популярной лог-обёртки. Приоритетом в выборе логгера конечно будет простота реализации своего аппендера и совместимость со средой выполнения. Пока проверил в этой среде commons-logging - нормально запускается. Понимаю, что не популярно, но пока это кандидат номер один... А вот стандартный JUL тут вообще не работает из-за специфичных настроек java.policy. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:22 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Petro123, Конфига никакого вообще нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:24 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНяня, я у них поел. Если речь про аппендер, то при чем тут форматирование. Форматирование ни при чём, форматирование не надо. BlazkowiczХочется логировать через стандартный API, а писать лог в какой-то левый формат? Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:26 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
chabapokGarrick, скачать исходники logback и посмотреть как там сделано. Ну или не logback, а ваш любимый логгер. Сделать так же, только свое. Я когда то делал и скажу, что там все легко - всего пара-тройка интерфейсов Спасибо, посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 09:26 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
GarrickСистема - Lotus Notes. Лог пишет в свою базу, база нереляционная, есть Java API. JVM своя от IBM, есть некоторые отличия от оракловой. Хотелось бы задействовать какой-либо стандартный логгер, чтобы при желании можно было переключаться с Lotus Notes на какой-нибудь log4j и т.п. с выводом в обычный файл. Значит, вам на самом деле ничего не нужно. GarrickПоэтому возникла идея написать свой аппендер для какой-нибудь популярной лог-обёртки. Приоритетом в выборе логгера конечно будет простота реализации своего аппендера и совместимость со средой выполнения. Пока проверил в этой среде commons-logging - нормально запускается. Понимаю, что не популярно, но пока это кандидат номер один... А вот стандартный JUL тут вообще не работает из-за специфичных настроек java.policy. Вы не понимаете, о чём спрашиваете. Поэтому ничего не выйдет. К счастью, вам и не нужно. Commons Logging - обёртка (выражаясь по-вашему), значит, не будет работать без обёртываемого логгера. Он не всякий, а какой именно используется в программе - можно посмотреть например по имеющимся файлам настроек логирования и по jar-файлам логгеров, прилагаемых к программе (если они есть). Чего вы не сделали. LogBack - не обёрка, а настоящий логгер. Но вызывается черёз обёртку sl4fj. Если в программе нет обращения к sl4fj, то нифига вы не залогируете. Тот же результат если нет обращения к Commons Logging. А если есть, то в ней скорее всего есть файл настроек логирования для одного из совместимых логгеров. Но вы этого не посмотрели. Скорее всего, ничего и нет, раз из документации по Lotus извиняюсь за выражение Notes вы не узнали о существовании файл настроек логирования и его формате. Но если вы не смотрели документацию, то посмотрите. Конкретно файл настроек логирования и его формат, то есть способ добавления извиняюсь за выражение аппендера (обычно я так не выражаюсь), зависит от обёртываемого логгера (но ниоткуда не следует,что в Lotus извиняюсь за выражение Notes используется какая-либо обёртка). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 16:09 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
Partisan M, Почему-то вы уже не первый раз пытаетесь меня убедить, что где-то там спрятан какой-то стандартный логер, до которого только надо докопаться и подключится к нему. Уверяю вас никакого стандартного логера в системе нет, нет никаких конфигов и пр. Пойдём другим путём. Вот класс лог -> lotus.domino.Log . Можете считать его аналогом log4j, logback или ещё чего угодно. Т.к. его методы весьма специфичны, а особенно инициализация, хочу с ним работать не напрямую, а через commons-logging. Так мой вопрос понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2015, 11:20 |
|
||
|
Как сделать свой аппендер для логера
|
|||
|---|---|---|---|
|
#18+
GarrickТак мой вопрос понятнее? Да. Вот мануал https://commons.apache.org/proper/commons-logging/guide.html#Extending_Commons_Logging Подробно описано что надо реализовать и дан пример для stdout ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2015, 13:04 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39073114&tid=2124827]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 456ms |

| 0 / 0 |
