Я пытаюсь вставить Jetty 6.1 в другую программу. Jetty сбрасывает информацию INFO-log, и мне нужно отключить ее. Есть ли простой способ отключить протоколирование журнала?Jetty: как отключить ведение журнала?
ответ
В Jetty Embedded вы можете попробовать: org.mortbay.log.Log.setLog (null); Перед вызовом сервера.
Подсказка: ** перед тем, как сервер вызова вызова важен –
У меня был успех в создании фиктивного регистратора, который отбрасывает все, что он когда-либо просил регистрировать, а затем передавал его в Log.setLog(...)
.
E.g.
private static class DummyLogger implements Logger {
@Override
public String getName() {
return "DummyLogger";
}
@Override
public void warn(String msg, Object... args) {}
@Override
public void warn(Throwable thrown) {}
@Override
public void warn(String msg, Throwable thrown) {}
@Override
public void info(String msg, Object... args) {}
@Override
public void info(Throwable thrown) {}
@Override
public void info(String msg, Throwable thrown) {}
@Override
public boolean isDebugEnabled() {return false; }
@Override
public void setDebugEnabled(boolean enabled) {}
@Override
public void debug(String msg, Object... args) {}
@Override
public void debug(Throwable thrown) {}
@Override
public void debug(String msg, Throwable thrown) {}
@Override
public Logger getLogger(String name) {return this; }
@Override
public void ignore(Throwable ignored) {}
}
Для справки, я использовал эти пакеты:
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
вместо mortbay из них, но они, вероятно, следует вести себя так же (или, по крайней мере так же).
Глядя на debugging page упомянутой Вине:
Jetty использует протоколирование инфраструктуру SLF4J к мосту, чтобы Викисклад протоколирование для JSP2.0. Это означает, что сообщения общего доступа отправляются на интерфейс SLF4J.
Мы отправляем реализацию Simple log, которая выводит только уровень INFO и выше сообщений на stderr.
Однако, вы можете заменить простой журнал с другими реализациями протокола SLF4J удалением Lib/JSP-2.0/SLF4J-простой-1.0-rc5.jar и копирование в SLF4J осущ вашего выбора. Основной код Jetty имеет мягкую зависимость от SLF4J, что означает, что если SLF4J impl обнаружен в пути к классам при запуске, Jetty будет направлять на него все сообщения журнала.
В качестве альтернативы, вы можете удалить SLF4J банку вообще и использовать Викисклад протоколирование вместо пути копирования в Обще-лесозаготовительной банке и Обще-каротажный совместимое осущий протоколирование, такие как log4j, к Lib/директории. Однако, если вы это сделаете, имейте в виду, что, поскольку основной код Jetty не использует commons-logging, он будет записывать сообщения в stderr вместо этого. Читайте дальше, чтобы узнать, как заставить механизм журнала stderr печатать сообщения уровня DEBUG.
Так что дело в том, чтобы поместить правый файл в баночку. Например, вы можете поместить совместимый с log4j интерфейс и настроить конфигурационный файл log4j должным образом, чтобы отключить полностью протоколирующие записи причала или быть более подробными.
Установите StdErrLog
уровень в WARN
перед запуском сервера:
Properties p = new Properties();
p.setProperty("org.eclipse.jetty.LEVEL", "WARN");
org.eclipse.jetty.util.log.StdErrLog.setProperties(p);
Это похоже на работу, хотя нет опции «НЕТ». 'ожидая только [ALL, DEBUG, INFO, WARN]' –
@ThomasAhle это правда, но я согласен с их выбором. На самом деле не рекомендуется помешать появлению ошибок в журнале. –
@ThomasAhle Кажется, есть опция 'OFF', хотя:' $ {name | hierarchy} .LEVEL = (ВСЕ | DEBUG | INFO | WARN | OFF) ', источник: http://download.eclipse.org/jetty /9.3.6.v20151106/apidocs/org/eclipse/jetty/util/log/StdErrLog.html – m4rtin
Более краткий вариант ответа Джеффа Черна:
org.eclipse.jetty.util.log.Log.setLog(new NoLogging())
.
import org.eclipse.jetty.util.log.Logger;
public class NoLogging implements Logger {
@Override public String getName() { return "no"; }
@Override public void warn(String msg, Object... args) { }
@Override public void warn(Throwable thrown) { }
@Override public void warn(String msg, Throwable thrown) { }
@Override public void info(String msg, Object... args) { }
@Override public void info(Throwable thrown) { }
@Override public void info(String msg, Throwable thrown) { }
@Override public boolean isDebugEnabled() { return false; }
@Override public void setDebugEnabled(boolean enabled) { }
@Override public void debug(String msg, Object... args) { }
@Override public void debug(Throwable thrown) { }
@Override public void debug(String msg, Throwable thrown) { }
@Override public Logger getLogger(String name) { return this; }
@Override public void ignore(Throwable ignored) { }
}
Примечание: это не подходит для Jetty 6.1 (в качестве указанного вопроса). Пакетное пространство 'org.eclipse.jetty' не существовало до тех пор, пока Jetty 7.0 –
. Ответ ниже на @ arcuri82 - самая подходящая конфигурация (без пользовательского кода) для достижения конечной цели. –
System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog");
System.setProperty("org.eclipse.jetty.LEVEL", "OFF");
Это работает для меня, но только убедитесь, что называть его перед запуском сервера.
Это правильный ответ для Jetty 7.0+ –
Это работает, спасибо! – Ehsan
- 1. Как отключить ведение журнала?
- 2. Отключить ведение журнала ServiceStack
- 3. Отключить ведение журнала ViewExpiredException
- 4. Отключить ведение журнала SMS
- 5. Отключить ведение журнала tomcat
- 6. Отключить подробное ведение журнала
- 7. Как отключить ведение журнала Hibernate?
- 8. Отключить ведение журнала на AngularJS
- 9. Отключить ведение журнала из DriverManagerDataSource
- 10. Отключить ведение журнала log4j утешать
- 11. Elasticsearch (Java) отключить ведение журнала
- 12. отключить Cocos2D многословным ведение журнала
- 13. Отключить ведение журнала отладки log4j2
- 14. Отключить ведение журнала отладки Hiera
- 15. WebSphere MQ: Отключить ведение журнала
- 16. Отключить ведение журнала в hapijs
- 17. Отключить ведение журнала в Node.JS
- 18. Полностью отключить ведение журнала python
- 19. Elasticsearch Marvel - Отключить ведение журнала
- 20. Отключить ведение журнала на catalina.out
- 21. Отключить ведение журнала в neo4j
- 22. Как отключить ведение журнала в neo4j-ogm
- 23. Как отключить ведение журнала отладки миграции django?
- 24. Как программно отключить ведение журнала клиента Hazelcast?
- 25. Как отключить ведение журнала ошибок apache2?
- 26. Как отключить ведение журнала необработанных исключений ELMAH?
- 27. Как отключить ведение журнала java-драйвера mongoDB?
- 28. Как отключить ведение журнала в Restlet 2.0?
- 29. Как отключить ведение журнала в Scrapy (Python)
- 30. В Selenium, как отключить ведение журнала?
Вы нашли решение? Как насчет обновления вашего сообщения! ?? –