Как писать логи только из основного метода - PullRequest
0 голосов
/ 20 января 2020

Я добавил log4j в свой сценарий groovy, где я использую httpBuilder для выполнения некоторых запросов и записи в журнал необходимой информации, но когда уровень журнала равен DEBUG, я вижу журналы, как мне кажется, из методов HttpBuilder, которые мне не нужны , Как я могу написать журнал только то, что я хочу?

Я имею в виду, что я

main()
def main() {
    Log4JLogger logger = new Log4JLogger('LOGGERRR')
    logger.info("!!!!!!!!!!!!!!!!!!")
    def httpReq = new HTTPBuilder("${url}")
    httpReq.request(Method.GET, ContentType.JSON) {
    headers.'Authorization' = "Basic ${authString}"         
           response.success = { resp ->
               println("Ok")
           }
           response.failure = { resp ->
               println("Not ok")
           }   
}

Вот log4j.properties

log4j.rootLogger=DEBUG, file

# Appender 
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
# Path
log4j.appender.file.File=./log_file.log

log4j.appender.file.Append=false
log4j.appender.file.DatePattern='.'yyyy-MM-dd-a

# configuring pattern
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t]:%L - %m%n

Вот часть файла журнала

2020-01-20 17:25:57 INFO  [main]:? - !!!!!!!!!!!!!!!!!!
2020-01-20 17:26:28 DEBUG [main]:449 - GET https://some url
2020-01-20 17:26:30 DEBUG [main]:161 - Get connection for route {s}->url:port
2020-01-20 17:26:30 DEBUG [main]:177 - Connecting to url:port
2020-01-20 17:26:32 DEBUG [main]:123 - CookieSpec selected: default
2020-01-20 17:26:32 DEBUG [main]:77 - Auth cache not set in the context
2020-01-20 17:26:32 DEBUG [main]:89 - Proxy auth state: UNCHALLENGED
2020-01-20 17:26:32 DEBUG [main]:682 - Attempt 1 to execute request
2020-01-20 17:26:32 DEBUG [main]:274 - Sending request: GET url HTTP/1.1
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "GET url/1.1[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "Accept: application/json, application/javascript, text/javascript[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "Authorization: Basic authstring[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "Host: jurl[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "Connection: Keep-Alive[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:73 -  >> "[\r][\n]"
2020-01-20 17:26:32 DEBUG [main]:278 - >> GET url HTTP/1.1
2020-01-20 17:26:32 DEBUG [main]:281 - >> Accept: application/json, application/javascript, text/javascript
2020-01-20 17:26:32 DEBUG [main]:281 - >> Authorization: Basic authstring
2020-01-20 17:26:32 DEBUG [main]:281 - >> Host: 
2020-01-20 17:26:32 DEBUG [main]:281 - >> Connection: Keep-Alive
2020-01-20 17:26:32 DEBUG [main]:73 -  << "HTTP/1.1 200 200[\r][\n]"
.... and so on

Но мне нужно написать только первую строку в лог-файл.

1 Ответ

1 голос
/ 20 января 2020

просто немного измените log4j.properties и укажите уровень DEBUG только для вашего регистратора, который вы назвали LOGGERRR:

# set default logger to ERROR level
log4j.rootLogger=ERROR, file
# set your custom logger to DEBUG level
log4j.logger.LOGGERRR=DEBUG, file

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