2012-04-03 2 views
-2

Der Standardprotokollierungscode scheint nicht zu funktionieren, wenn ein Logger mit dem kanonischen Namen instanziiert wird oder ein anonymer Logger verwendet wird.Ist es möglich, von einem Servlet-Filter auf AppEngine zu loggen?

-Code unten:

private static final Logger logger = Logger.getLogger(UserAccessFilter.class 
    .getCanonicalName()); 

// ... 
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) 
    throws IOException, ServletException { 
    if (!UsersHelper.isValid(req)) { 
    logger.log(Level.WARNING, getErrorMessage(req)); 
    // ... some error serving code 
    } else { 
    chain.doFilter(req, resp); 
    } 
} 

Antwort

2

Ja, Sie können von einem Servlet-Filter abmelden - ich mache es in meinem Code.

Ich wette, dass Sie auf Info-Ebenen protokollieren, während App Engine nur Warnungen und darüber standardmäßig meldet. Suchen Sie in WEB-INF/logging.properties und fügen Sie .level = INFO hinzu oder ersetzen Sie sie, um INFO-Nachrichten anzuzeigen (oder WARNING + Nachrichten protokollieren).

0

Ein Servlet-Filter ist nur eine Klasse, so dass Sie sollten in der Lage sein. Was "Standard-Logging-Code" hast du probiert?

+0

Ich habe meinen Code veröffentlicht. – tarun2000

+0

Arbeitet die Protokollierung in anderen Bereichen Ihrer Anwendung? Das sollte funktionieren. Sehen Sie sich Ihre logging.properties an und vergewissern Sie sich, dass Sie die Abmeldung nicht abschalten. –

+0

Ja, die logging.properties war das Problem. Vielen Dank! – tarun2000

Verwandte Themen