Java Logging Framework

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето

Java logging framework (логваща рамка) е комютърен пакет данни, отнасящи се за „логването“ в Java платформата.

Логването служи за следене на активността. То е основен проблем при екипите за разработване. Няколко рамки улесняват и стандартизират процеса на логване в Java платформата. Тази статия ще покаже основните цели на логващите рамки.

Преглед на функционалността[редактиране | редактиране на кода]

Логването е разделено на три основни части: Логърът, Форматър и Прибавачът. Логърът е отговорен за запазване на съобщенията и да бъдат вкарани с точно определена информация и изпратени към логващата рамка. След като получи съобщението, рамката извиква Форматърът със съобщението. Форматърът го форматира в приличен вид, в който ще го вижда потребителят. След това рамката занася съобщението до съответният Прибавач за визуализация. Това може да включва показване в конзолата, записване върху диск, добавяне в някаква база данни или емайл.

По-прости логващи рамки, като например Java Logging Framework на Object Guy, комбинира от Логъра и Прибавача. Това опростява операция по подразбиране, но е по-малко конфигуруема, специално когато проекта е преместван през различни среди.

Логърът[редактиране | редактиране на кода]

Логърът е обект, който позволява на приложението да влезе без значение къде е запазен резултатът. Приложението вкарва съобщение като преминава през даден обект.

Име[редактиране | редактиране на кода]

Логърът си има име. Обикновено то е структурирано йерархично, с точки (.) разделящи нивата на структурата. Типичният принцип на работа е да се използва името на Class или пакет (Package), който извършна логването. Както log4j, така и Java API подпомагат дефинирането на Прибавачите, които са по-нагоре в йерархията

Например, логърът може да бъде наименуван com.sun.some. UsefulClass. Прибавачът може да бъде наименуван по един от следните начини:

  • com
  • com.sun
  • com.sun.some
  • com.sun.some. UsefulClass

Ниво на тежест[редактиране | редактиране на кода]

Съобщението се вкарва при точно определено ниво. Типичните нива са взети от Apache Commons Logging:

Логващите рамки поддържат сегашното вкарващо ниво за всеки Логър. Вкарващото ниво може да бъде променяно. Например, ако логващото ниво е нагласено на „ВНИМАНИЕ“, тогава всички съобщения на това ниво или по-високо ще бъдат вкарани, в случая ERROR и FATAL.

Форматър[редактиране | редактиране на кода]

Форматърът е обект, който форматира даден обект. В повечето случаи това се състои във вземането на двоичния код на обекта и превръщането му в тип String.

Прибавачите[редактиране | редактиране на кода]

Прибавачите търсят съобщения, които са на определено ниво на тежест или над него. Те взимат съобщението, което е пуснато и го визуализират по правилен начин. Това включва:

  • показване на конзолата
  • писане върху файл
  • добавяне в база данни
  • разпространение чрез Java Messaging Services
  • изпращане чрез емайл

Обобщение[редактиране | редактиране на кода]

Apache Commons Logging не е наистина логваща рамка, но подобна на такава. Тя се нуждае от логваща рамка под нея. Полезна е за разработката на библиотеки, за които трябва да се пише до всяка логваща система, която използва приложението. То също осигурява ефикасност в хетерогенни среди, където логващите рамки се променят, въпреки че в много случаи, когато един път вече е избрана логваща рамка, има малка нужда от смяната ѝ по време на проекта.

Java Logging API също не е логваща рамка, но стандартен API за достъп до такава. Съвместимите рамки могат да бъдат вкарани в JVM и достъпни чрез API. Също така има вкарващо изпълнение, осигурен с Sun JVM, което е логващата рамка по подразбиране, достъпна от API. Много разработчици грешат това изпълнение с Java Logging API.

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Java logging framework“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода, и списъка на съавторите.