Вход веб-приложений Java?

Можно также аннулировать высоту строки родителя:

#wrapper {
  line-height: 0;
}

Все исправления: http://jsfiddle.net/FaPFv/

21
задан James McMahon 5 March 2009 в 14:39
поделиться

11 ответов

Я помещаю свою конфигурацию в пакет по умолчанию: src/

и журнал в файлы с помощью $ {catalina.home} системное свойство:

log4j.appender.???.file=${catalina.home}/logs/system.log
4
ответ дан 29 November 2019 в 21:12
поделиться

Я рекомендовал бы Вам использовать SLF4J. Это - простой фасад входа, который поддерживает большинство популярных систем регистрации ( Log4j, вход свободного городского населения , API Входа Java и Logback). Используя его, Вы будете способный заменить Вашу систему регистрации подчеркивания любому другому простым обновлением ПУТИ К КЛАССУ.

другое преимущество SLF4J параметризованные вызовы , который уменьшает ужасный код входа.

На самом деле, они рекомендуют использовать SLF4J с Logback. Logback является преемником [1 110] Log4J. И это было разработано тем же автором.

11
ответ дан 29 November 2019 в 21:12
поделиться

Где конфигурационный файл входит в .war файл пакета? Корень пути к классу.

Где люди регистрируются к, плоский файл относительного или полного пути или база данных? Зависит от потребности. Всегда лучше использовать относительные пути. Базы данных хороши, если Вы реализовываете другое приложение, которое выберет журналы от него и отправит их использующий электронную почту/SMS

Вход Log4J идет непосредственно в файл журнала сервера приложений автоматически или - что что-то необходимо настроить? В этом случае я использую Tomcat, но я часто использую Jrun. При использовании Консоли appender да, это будет, вошел в систему файл журнала контейнера сервлета.

Какие-либо другие глюки я должен знать для входа веб-приложения? Если Вы регистрируетесь от другого logback использования потоков, это ориентировано на многопотоковое исполнение, и это выставляет параметризованные сообщения журнала.

8
ответ дан 29 November 2019 в 21:12
поделиться

Вход к DB добавляет другое место ошибки. У нас была ситуация, где серверы напоминания зарегистрировались к DB, и кто-то выполнил дорогой запрос на том DB, который замедлил его так, что серверы напоминания стали очень, очень медленными. Вход в файл может вызвать проблемы, если у Вас заканчивается пространство, но это кажется менее вероятным для замедления целого приложения.

6
ответ дан 29 November 2019 в 21:12
поделиться

Это могла бы быть хорошая идея поместить файл конфигурации куда-нибудь, где администратор может изменить его, не восстанавливая Ваше веб-приложение (например, таким образом, они могут включить подробный вход, не будя Вас в середине ночи).

, К сожалению, нет никакого "официального" пути к определению местоположения воплощенных ресурсов из веб-приложения (исправьте меня, если я неправ). Наиболее распространенный способ выполнения его, который я видел, состоит в том, чтобы просмотреть каталоги в пути к классу.

2
ответ дан 29 November 2019 в 21:12
поделиться
  • поместите log4j в контейнер (сервер) и создайте надлежащий appenders на приложение
  • относительно пути сервера, но это зависит от Ваших потребностей
  • мы используем appenders, которые регистрируются в различные файлы, зависит от Ваших потребностей, например, один файл для в спящем режиме информация/статистика, один для приложения только, и т.д.
  • не регистрируйтесь к очень, это замедляет приложение
0
ответ дан 29 November 2019 в 21:12
поделиться

Лично я поместил log4j.properties в каталог WEB-INF и использую init сервлет со следующим кодом:

public class InitServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

private static final String LOG4J_FILE = "WEB-INF/log4j.properties";

public InitServlet() {
    super();
}

@Override
public void init() throws ServletException {
    super.init();
    PropertyConfigurator.configure(getServletContext().getRealPath(LOG4J_FILE));
    LogFactory.getLog(InitServlet.class).info("LOG 4J configured");
}

}

0
ответ дан 29 November 2019 в 21:12
поделиться

Я рекомендую API журнала вызовов (log4j) через slf4j. Даже при использовании log4j веб-контейнера или зависящий, модули могут использовать другой API журнала, такой как Java.util.logging или Джакартский вход свободного городского населения. Slf4j обеспечивает модули моста, которые перенаправляют их к slf4j API. В результате все сообщения журнала записаны log4j в этом случае.

1
ответ дан 29 November 2019 в 21:12
поделиться
  • , Где конфигурационный файл входит в .war файл пакета?

В корне пути к классу, но... Не помещайте конфигурационный файл в военный пакет. Вы не хотите повторно упаковывать и повторно развертывать приложение при изменении регистрирующейся конфигурации, не так ли? Лучшая практика должна была бы поместить конфигурационный файл где-нибудь в путь к классу вне войны.

  • , Где люди регистрируются к, плоский файл относительного или полного пути или база данных?

я обычно регистрируюсь к файловой системе на отдельный раздел (файлы журнала могут стать очень быстрыми и никогда не должны блокировать приложение или операционную систему, если они становятся слишком большими). Я использую большую часть времени полный путь на основе следующей модели: /var/projects/<PROJECT_NAME>/<PRODUCT>/<CLUSTER_NAME>/logs/<INSTANCE_NAME>.log, где < PROJECT_NAME> название проекта, < PRODUCT> может быть Apache, Tomcat, Weblogic..., < CLUSTER_NAME> название кластера и < INSTANCE_NAME> название экземпляра в кластере. Вход к файловой системе быстрее, чем в базе данных. Недостаток состоит в том, что журналы не централизованы при использовании нескольких экземпляров и реальных машин. Но слияние может легко быть сделано со сценарием.

  • вход Log4J идет непосредственно в файл журнала сервера приложений автоматически или - что что-то необходимо настроить? В этом случае я использую Tomcat, но я часто использую Jrun.

журналы Сервера приложений являются журналами сервера приложений, не журналами приложения. Не пишите в них, но настраивайте инструмент регистратора (например, log4j) и пишите в журналы приложения (поймите выделенный).

  • Какие-либо другие глюки я должен знать для входа веб-приложения?

при использовании log4j не забывайте использовать isDebugEnabled () прежде для входа:

if(logger.isDebugEnabled()) {
  logger.debug("Bla Bla Bla");
}
0
ответ дан 29 November 2019 в 21:12
поделиться
  • , Где конфигурационный файл входит в .war файл пакета?

Обычно, я не помещаю конфигурации входа в приложение, довольно уезжающее это appserver администраторам для конфигурирования входа, всего сервера. В редких случаях я хочу log4j конфигурацию, развернутую с веб-приложением, СЕТЬ-INF является обычным путем.

  • , Где люди регистрируются к, плоский файл относительного или полного пути или база данных?

Снова, зависит от appserver настроек. Один общий файл журнала для appserver и вращающийся ежедневно является обычной установкой. Если существуют какие-либо определенные для приложения потребности, администратор может настроить отдельный файл журнала для приложения (отличенный пакетом / имена классов).

  • вход Log4J идет непосредственно в файл журнала сервера приложений автоматически или - что что-то необходимо настроить? В этом случае я использую Tomcat, но я часто использую Jrun.

Посмотрите выше. Для кота, используемого в целях разработки, я просто искал бы ее вход (log4j) конфигурация и добавил бы определенный для приложения конкретный там.

  • Какие-либо другие глюки я должен знать для входа веб-приложения? Производительность. Ограничьте, уровень журнала к минимуму (т.е. ПРЕДУПРЕДИТЕ или ОШИБКА), как только Вы идете живые. Используйте if (log.isDebugEnabled()) { log.debug("..."); } и подобный конструкции в Вашем коде.
0
ответ дан 29 November 2019 в 21:12
поделиться

Обратите внимание, что, если Вам просто нужно немного входа, стандарт сервлета определяет, что можно получить ServletContext и использовать методы журнала там. Это - универсальный сервлет, эквивалентный из System.out.println.

0
ответ дан 29 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: