2012-04-13 17 views
0

Google App Engine protokolliert jede HTTP-Anfrage in einer Zeile, die der von Apache HTTP oder Tomcat ähnelt. Nachfolgend finden Sie eine Zeile aus den Protokollen:Kann ich das Zugriffsprotokoll in meiner GAE-App anpassen?

198.138.224.81 - - [13/Apr/2012:12:15:05 -0700] "GET /page/1 HTTP/1.1" 200 4290 "http://APP-ID.appspot.com/add/1" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0" "3.APP-ID.appspot.com" ms=28 cpu_ms=210 api_cpu_ms=187 cpm_usd=0.006356 instance=01cb1aaa653f13c0586eac9964cc136

Ist es möglich, mehr Inhalte in die Protokolle hinzufügen? In meinem speziellen Fall gibt meine Anwendung eine Herausforderung für BASIC authentication aus, die der HTTP-Anforderung einen Header hinzufügt, und ich möchte das protokollieren.

Wie kann ich die Protokolle so anpassen, dass sie auch diesen Header aus der HTTP-Anfrage enthalten?

Meine App ist in Java geschrieben, wenn das irgendeine Hilfe ist.

Antwort

1

Es gibt keine Möglichkeit für das Standardprotokoll anpassen. Ich sehe keine Feature-Anfrage dafür auf der issue tracker. Eins einreichen und sehen, ob es etwas Traktion bekommt.

+0

Sie müssen einen zwingenden Grund angeben, warum dies besser ist als die vorhandene Protokollierungsunterstützung. –

1

Natürlich App Engine supports logging:

public class MyServlet extends HttpServlet { 
    private static final Logger log = Logger.getLogger(MyServlet.class.getName()); 

    public void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws IOException { 

     log.info("Header your-header-name="+req.getHeader("your-header-name")); 
    } 
} 
+0

Schön, aber kann ich das von der Plattform ausgegebene * default * Log anpassen? – Leonel

+1

Nein, Sie können die Standardprotokollanweisung, die für jede Anforderung erstellt wird, nicht ändern. Ihre protokollierten Anweisungen werden direkt unterhalb der Standardprotokollanweisung hinzugefügt. –

Verwandte Themen