Регистрация Tomcat6 в Ubuntu - PullRequest
1 голос
/ 23 июля 2010

Я использую Ubuntu и Tomcat6 для моего сервера. Когда я вызываю сервлет или страницу jsp, «logger» (System.out.println ()) входит в системный журнал сервера / var / log / syslog. Как я могу изменить это, чтобы сервер записывал в собственный файл журнала, например, catalina.out?

Проблема в том, что в моем системном журнале нет разрывов строк (я использовал \ n в system.out), поэтому он выглядит действительно "грязным".

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

Несколько способов:

  1. Измените назначение stdout, используя System#setOut() и, в конечном итоге, также stderr.

    System.setOut(new PrintStream(new File("/new.log")));
    

    Это, однако, не рекомендуется. Не делай этого. Используйте регистратор.

  2. Настройте контекст веб-приложения для проглатывания вывода. Установите swallowOutput элемента <Context> на true. Это перенаправит все stdout / stderr в лог-файл Tomcat.

    <Context swallowOutput="true">
    

    Все еще не очень рекомендуется. Использование stdout / stderr вместо logger - плохая практика. Кроме того, это загромождает файл журнала Tomcat журналами, специфичными для веб-приложений. Но если это именно то, что вам нужно ...

  3. Замените все вызовы stdout / stderr полноценным регистратором, таким как (в настоящее время устаревший) log4j или его преемником slf4j , что дает вам высокую степень свободы в настройке регистрируемая информация, место назначения регистрации, формат регистрации и так далее.

2 голосов
/ 23 июля 2010

Вы хотели бы заглянуть в log4j

http://logging.apache.org/log4j/1.2/manual.html

и настроить свойства log4j.properties, которые будут выполнять то, что вы хотите.

Как правило,Вы не хотите использовать System.out.println () .. все должно пройти через log4j.Например,

logger.debug("whatever i am debugging");

и

logger.warn("danger!");

Таким образом, вы можете изменить уровень log4j и отключить спам отладки, не удаляя его из кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...