2014-10-20 3 views
0

Я использую последнюю версию Jenkins (1.584) под Tomcat 7.0.56 на OS X 10.10. У нас есть несколько плагинов. Я вижу файл журнала XML (java0.log), записанный в домашний каталог пользователя, под которым работает Tomcat. Пример записи:контроль дженкинсов внешнего каротажа?

<record> 
    <date>2014-10-20T09:42:19</date> 
    <millis>1413816139820</millis> 
    <sequence>4283</sequence> 
    <logger>svnkit-cli</logger> 
    <level>INFO</level> 
    <class>org.tmatesoft.svn.core.internal.util.DefaultSVNDebugLogger</class> 
    <method>log</method> 
    <thread>56</thread> 
    <message>CLI: executing statement: CREATE TRIGGER nodes_delete_trigger AFTER DELETE ON nodes WHEN OLD.checksum IS NOT NULL BEGIN UPDATE pristine SET refcount = refcount - 1 WHERE checksum = OLD.checksum; END;</message> 
</record> 

Это не просто svnkit, это ошибка регистрации. Я также вижу следующие значения в поле:

javax.jmdns.impl.DNSIncoming 
javax.jmdns.impl.DNSIncoming$MessageInputStream 
javax.jmdns.impl.constants.DNSRecordType 
javax.jmdns.impl.constants.DNSRecordClass 
hudson.triggers.SCMTrigger 
hudson.scm.SubversionSCM 
hudson.plugins.jira.JiraChangeLogAnnotator 
hudson.model.UpdateSite 
jenkins.model.lazy.LazyBuildMixIn 

То, что я хотел бы знать, как указать место для этого файла журнала (а не только ~/java0.log) и как контролировать журнал уровня, так что регистрируются только «ERROR» и выше.

Какой регистратор используется здесь и какое свойство java мне нужно установить, чтобы изменить его поведение? Это что-то мне нужно, чтобы установить Tomcat-wide (например, в bin/setenv.sh) или что-то, что можно указать только для веб-приложения Jenkins?

ответ

0

Свойства каротажа Tomcat содержатся в пределах ${catalina.base}/conf/logging.properties. Эти свойства применяются к Tomcat и любым приложениям, содержащимся в Tomcat, если в приложении не настроено определенное решение для регистрации. Пер Хадсон/Дженкинс: «Системный журнал захватывает выходные данные из java.util.logging, связанные с Hudson». Исходя из этого, кажется, что java.util.logging.consoleHandler - это тот, который вы хотите изменить.

В некоторых случаях, когда используется log4j, свойства ведения журнала будут находиться в файле log4j.xml, но формат аналогичен и легко понятен.

Вот файла по умолчанию logging.properties, для справки:

############################################################ 
# Handler specific properties. 
# Describes specific configuration info for Handlers. 
############################################################ 

1catalina.org.apache.juli.FileHandler.level = FINE 
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
1catalina.org.apache.juli.FileHandler.prefix = catalina. 

2localhost.org.apache.juli.FileHandler.level = FINE 
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
2localhost.org.apache.juli.FileHandler.prefix = localhost. 

3manager.org.apache.juli.FileHandler.level = FINE 
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
3manager.org.apache.juli.FileHandler.prefix = manager. 

4host-manager.org.apache.juli.FileHandler.level = FINE 
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
4host-manager.org.apache.juli.FileHandler.prefix = host-manager. 

java.util.logging.ConsoleHandler.level = FINE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

############################################################ 
# Facility specific properties. 
# Provides extra control for each logger. 
############################################################ 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler 
+0

Я думаю, что это может быть что-то еще. Файл java0.log появляется в домашнем каталоге пользователя сборки, а не в $ {catalina.base}. – jph

+0

Теперь, когда я думаю об этом, похоже, что он может быть связан с SVN, основанный на тексте в файле журнала. Если ваш экземпляр Jenkins вызывает команды SVN, это происходит в оболочке, а не в Jenkins. Я бы посмотрел на вашу конфигурацию SVN для получения дополнительной информации. – LegendaryDude

Смежные вопросы