2014-05-22 3 views
0

Интересно, есть ли способ зарегистрировать все вызовы CLI. Jenkins предлагает нам объявить пользовательские регистраторы в этом WebInterface, и мне было интересно, есть ли возможность обратить внимание на любые взаимодействия с командной строкой.Log Jenkins CLI Calls

Так что я попытался взглянуть на Кодекс, но ничего не нашел полезный.

hudson.cli.CLICommand is logging nearly nothing and the SubClasses too 
hudson.cli.CliManagerImpl is logging exactly nothing 

Так я интересно, если есть кого-то вроде перехватчика или способа сделать это с помощью заводных сценариев?

вид касается даг

PS: Мой первоначальный замысел был ли наш скрипт резервного копирования SCM помещает Дженкинс в дежурном режиме в течение ночи, но обслуживание Протоколирование hudson.model.Queue называется слишком часто и я не могу понять, вызвано ли это просто регулятором, или если это происходит через команды молчания и отмены-молчания.

ответ

0

После ознакомления с исходным кодом не было никакого способа сделать это через сборку в Loggers. Но я смог, по крайней мере, оставить некоторые журналы, используя интерфейс groovy scripting.

Вот пример кода для режима quietDown.

import java.util.logging.Logger 
import jenkins.model.Jenkins 

Jenkins jenkins = Jenkins.getInstance() 
Logger logger = Logger.getLogger("jenkins.groovy.Maintenance") 

logger.info ("User '" + jenkins.getAuthentication().getPrincipal() + "' requests doCancelQuietDown()") 
jenkins.doCancelQuietDown() 

Надеюсь, это поможет кому-то.

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