Я створюю проект за замовчуванням за допомогою GoogleAppEngine для Java, і коли я розгортаю свою програму на сервері google, у мене з'являється таке попереджувальне повідомлення для першого запиту.
log4j: ПОПЕРЕДЖЕННЯ Для реєстратора не знайдено додатків (DataNucleus.Connection).
log4j: WARN Будь ласка, правильно ініціалізуйте систему log4j.
Журнал працює нормально, але деякий запит затримується через цю проблему.
Як я можу його правильно налаштувати?
Відповіді:
1 для відповіді № 1Що ви впевнені, що це затримує деякі ваші запити?
GAE не працює як стандартний сервлетконтейнер. За лаштунками він вивантажує будь-які веб-сторінки, що не працюють, а потім завантажує їх знову лише тоді, коли отримає новий запит на цей веб-сервер. Це в основному еквівалентно виконанню повного перевтілення вашої програми, і це навіть не розпочнеться до тих пір, поки не буде після GAE отримав запит. Таким чином, будь-який запит, який запускає операцію завантаження, буде помітно затриманий порівняно з подальшими запитами.
Але зараз відбувається багато всього, що сприяє затримці, і я думаю, що неініціалізована настройка log4j не має великої різниці.
0 для відповіді № 2
Це повідомлення означає, що не знайдено конфігурації log4j.
Ви повинні поставити конфігурацію для log4j, наприклад, у файл з ім'ям як log4j.properties
в класі додатків.
Наприклад, конфігурація була б:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n
Якщо ваш проект базується на Maven, то найкраще місце log4j.properties
буде src/main/resources