2013-12-18 5 views
1

Я использую Liferay 6.20 с tomcat.Logger in Liferay не работает

Согласно этому сообщению: Liferay: what is the default approach for logging in Liferay? Я добавил логгер мой основной класс портлета так:

package mypackage.katalog; 

import java.io.IOException; 

import javax.portlet.ActionRequest; 
import javax.portlet.ActionResponse; 
import javax.portlet.PortletException; 

import com.liferay.portal.kernel.log.Log; 
import com.liferay.portal.kernel.log.LogFactoryUtil; 
import com.liferay.util.bridges.mvc.MVCPortlet; 

/** 
* Portlet implementation class KatalogUslugPortlet 
*/ 
public class KatalogUslugPortlet extends MVCPortlet { 
    private static Log _log = LogFactoryUtil.getLog(KatalogUslugPortlet.class); 

    @Override 
    public void processAction(ActionRequest actionRequest, 
      ActionResponse actionResponse) throws IOException, PortletException { 

     testLogger(); 

     super.processAction(actionRequest, actionResponse); 
    } 

    private void testLogger() { 
     System.out.print("SYSTEM_OUT!!!"); 

     _log.info("INFO!!!"); 
     _log.debug("DEBUG!!!"); 
     _log.error("ERROR!!!"); 
    } 
} 

И журналы не появляются ни в консоли, ни в журналах TOMCAT. Что может пойти не так?

+0

попробуйте использовать частный окончательный статический Logger LOGGER = LoggerFactory.getLogger (KatalogUslugPortlet.class); – Runcorn

+0

или обратитесь к этому http://stackoverflow.com/questions/9784183/liferay-what-is-the-default-approach-for-logging-in-liferay – Runcorn

+0

Я уже говорю в том же сообщении в своем вопросе. Согласно этому сообщению я должен использовать классы 'com.liferay.portal.kernel.log.Log' и' com.liferay.portal.kernel.log.FactoryUtil', которые я уже использую (вместо 'Logger' и' LoggerFactory вы упомянули). Так что теперь я еще больше смущен об этом ... – Disper

ответ

2

Проблема не была в регистраторе. Мой портлет просто перетащил меня на мой сайт, и я подумал, что processAction(...) был методом, который вызывался после обновления каждого сайта. На самом деле он должен выглядеть Использовать doView(...) метод следующим образом:

@Override 
public void doView(RenderRequest renderRequest, 
     RenderResponse renderResponse) throws IOException, PortletException { 

    testLogger(); 

    super.doView(renderRequest, renderResponse); 
} 
4

Liferay logger не работает таким образом, вы можете войти в систему с администратором Liferay, перейти в Admin -> Панель управления -> Администрирование сервера -> Уровни журнала -> Добавить категорию.

Добавить категорию mypackage.katalog и установить уровень All.

Теперь, когда вы идете в портлет, вы увидите все журналы. Помните, как только вы перезапустите сервер, вам нужно снова выполнить этот процесс!

+0

Я попытался добавить категорию в панель администрирования сервера с уровнем 'All', но журналы все еще не отображаются ... – Disper

+0

Я нашел ответ на свою проблему, но Я хотел поблагодарить вас за информацию о том, что Категории должны были быть добавлены после обновления каждого сервера. Я этого не знал. :) – Disper

+0

Я же тебе говорил! :) каждый перезапуск должен добавить категорию снова! пожалуйста, отметьте мой ответ как «ответ» :) –

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