Сообщения журнала не записываются в файл журнала - PullRequest
0 голосов
/ 16 января 2012

Я настроил проект с Log4j. Я настроил log4j используя log4.properties файл. Во время выполнения теста создается файл myLog.log, но в файл журнала ничего не записывается. Appender мы используем как RollingFileAppender и log4j.rootLogger=DEBUG.

Кто-нибудь может подсказать, что может быть причиной этой проблемы?

Вот log4j.properties для проекта.

log4j.rootLogger= DEBUG, ConsoleAppender, Rolling 
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender 
log4j.appender.ConsoleAppender.layout=org.apache.log4j.PatternLayout 

log4j.appender.ConsoleAppender.layout.ConversionPattern=%d %-2p %c.%M(): %m%n 
log4j.appender.Rolling=org.apache.log4j.RollingFileAppender 
log4j.appender.Rolling.MaxFileSize=5MB 
log4j.appender.Rolling.MaxBackupIndex=2 
log4j.appender.Rolling.File=D:\Logs\myProj.log 
log4j.appender.Rolling.layout = org.apache.log4j.PatternLayout 
log4j.appender.Rolling.layout.ConversionPattern=%d %-4p %c.%M(): %m%n 
## Following two lines have been removed now.
log4j.logger.com=WARN 
log4j.logger.org=WARN

Получено Войдите в файл журнала:

2012-01-16 22:02:08,534 DEBUG org.apache.http.headers.receiveResponseHeader(): << content-type: application/json; charset=UTF-8
2012-01-16 22:02:08,534 DEBUG org.apache.http.headers.receiveResponseHeader(): << connection: close
2012-01-16 22:02:08,534 DEBUG org.apache.http.headers.receiveResponseHeader(): << content-length: 236
2012-01-16 22:02:08,550 DEBUG org.apache.http.headers.receiveResponseHeader(): << server: httpd.js
2012-01-16 22:02:08,550 DEBUG org.apache.http.headers.receiveResponseHeader(): << date: Tue, 17 Jan 2012 03:02:06 GMT
2012-01-16 22:02:08,566 DEBUG org.apache.http.wire.wire(): << "{"name":"clickElement","sessionId":"2fad55cf-670e-44f3-ab60-7d2f76f641e6","status":0,"value":"This action is final and cannot be undone?"}"
2012-01-16 22:02:08,566 DEBUG org.apache.http.impl.conn.DefaultClientConnection.shutdown(): Connection shut down
2012-01-16 22:02:08,566 DEBUG org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.releaseConnection(): Released connection is not reusable.
2012-01-16 22:02:08,566 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.freeEntry(): Releasing connection [HttpRoute[{}->http://127.0.0.1:7055]][null]
2012-01-16 22:02:08,566 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.notifyWaitingThread(): Notifying no-one, there are no waiting threads
2012-01-16 22:02:10,566 DEBUG org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.getConnection(): Get connection: HttpRoute[{}->http://127.0.0.1:7055], timeout = 120000
2012-01-16 22:02:10,566 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(): [HttpRoute[{}->http://127.0.0.1:7055]] total kept alive: 0, total issued: 0, total allocated: 0 out of 2000
2012-01-16 22:02:10,566 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getFreeEntry(): No free connections [HttpRoute[{}->http://127.0.0.1:7055]][null]
2012-01-16 22:02:10,566 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(): Available capacity: 2000 out of 2000 [HttpRoute[{}->http://127.0.0.1:7055]][null]
2012-01-16 22:02:10,581 DEBUG org.apache.http.impl.conn.tsccm.ConnPoolByRoute.createEntry(): Creating new connection [HttpRoute[{}->http://127.0.0.1:7055]]
2012-01-16 22:02:10,597 DEBUG org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(): Connecting to 127.0.0.1:7055
2012-01-16 22:02:10,597 DEBUG org.apache.http.client.protocol.RequestAddCookies.process(): CookieSpec selected: best-match
2012-01-16 22:02:10,597 DEBUG org.apache.http.client.protocol.RequestAuthCache.process(): Auth cache not set in the context
2012-01-16 22:02:10,597 DEBUG org.apache.http.impl.client.DefaultHttpClient.tryExecute(): Attempt 1 to execute request
2012-01-16 22:02:10,597 DEBUG org.apache.http.impl.conn.DefaultClientConnection.sendRequestHeader(): Sending request: GET /hub/session/2fad55cf-670e-44f3-ab60-7d2f76f641e6/alert_text HTTP/1.1
2012-01-16 22:02:10,597 DEBUG org.apache.http.wire.wire(): >> "GET /hub/session/2fad55cf-670e-44f3-ab60-7d2f76f641e6/alert_text HTTP/1.1[\r][\n]"
2012-01-16 22:02:10,597 DEBUG org.apache.http.wire.wire(): >> "Accept: application/json, image/png[\r][\n]"
2012-01-16 22:02:10,597 DEBUG org.apache.http.wire.wire(): >> "Host: 127.0.0.1:7055[\r][\n]"
2012-01-16 22:02:10,597 DEBUG org.apache.http.wire.wire(): >> "Connection: Keep-Alive[\r][\n]"
2012-01-16 22:02:10,597 DEBUG org.apache.http.wire.wire(): >> "[\r][\n]"
2012-01-16 22:02:10,597 DEBUG org.apache.http.headers.sendRequestHeader(): >> GET /hub/session/2fad55cf-670e-44f3-ab60-7d2f76f641e6/alert_text HTTP/1.1
2012-01-16 22:02:10,597 DEBUG org.apache.http.headers.sendRequestHeader(): >> Accept: application/json, image/png
2012-01-16 22:02:10,597 DEBUG org.apache.http.headers.sendRequestHeader(): >> Host: 127.0.0.1:7055
2012-01-16 22:02:10,597 DEBUG org.apache.http.headers.sendRequestHeader(): >> Connection: Keep-Alive
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "HTTP/1.1 200 OK[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "content-type: application/json; charset=UTF-8[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "connection: close[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "content-length: 236[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "server: httpd.js[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "date: Tue, 17 Jan 2012 03:02:10 GMT[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.wire.wire(): << "[\r][\n]"
2012-01-16 22:02:10,612 DEBUG org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(): Receiving response: HTTP/1.1 200 OK

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Прежде всего, убедитесь, что ваш log4j.properties загружен в classpath.Я предполагаю, что файл также может быть найден в каталоге WEB-INF/classes, если это веб-приложение.Но поскольку вы говорите, что файл создается, я думаю, что это не проблема.

Итак, попробуйте с этим

log4j.rootLogger= DEBUG, Console, Rolling 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 

log4j.appender.Console.layout.ConversionPattern=%d %-2p %c.%M(): %m%n 
log4j.appender.Rolling=org.apache.log4j.RollingFileAppender 
log4j.appender.Rolling.MaxFileSize=5MB 
log4j.appender.Rolling.MaxBackupIndex=2 
log4j.appender.Rolling.File=D:\Logs\myProj.log 
log4j.appender.Rolling.layout = org.apache.log4j.PatternLayout 
log4j.appender.Rolling.layout.ConversionPattern=%d %-4p %c.%M(): %m%n 

Обратите внимание, что я удалил последние дваlines.

По сути, эти строки устанавливают уровень журнала WARN для всех пакетов, начиная с com и org.Таким образом, если у вас нет зарегистрированных сообщений WARN, вы ничего не увидите в файлах журнала.

Вы можете экспериментировать с уровнями, выполнив что-то вроде

log4j.logger.com.foo.bar=DEBUG
log4j.logger.com.foo.bar.MyClass=TRACE

Выше будет печатать журналы всех com.foo.bar журналов в DEBUG, тогда как будет печатать com.foo.bar.MyClass журналов на уровне TRACE.

1 голос
/ 16 января 2012

Или более подробно: не будет включен запрос регистрации от com или org-пакетов с уровнем журнала

Цитата:

Запрос журнала уровня p в регистраторе с (назначенным или унаследованным, в зависимости от того, что подходит) уровнем qвключается, если p> = q.

и

Каждый включенный запрос на запись в журнал для данного регистратора будет перенаправляться всем получателям в этом регистраторе, а также выше.в иерархии.

См .: http://logging.apache.org/log4j/1.2/manual.html

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