drucken Ich erstelle Servlet auf Tomcat 6.0 in Ubuntu 10.04. Für das Drucken des Protokolls habe ich System.setOut verwendet, um die Ausgabe umzuleiten.wie protokolle in tomcat servlet applikation
System.setOut(new PrintStream(new File("/tmp/new.log")));
System.setErr(new PrintStream(new File("/tmp/new.log")));
Ich habe diesen Code in doPost() verwenden, aber wenn meine Anwendung laufen dann in der Lage bin ich nicht ausgegeben, das ist zu sehen, warum vorübergehend ich diesen Code in doGet bewegt().
Wenn ich traf url durch Browser http://127.0.0.1:8080/hello/hello ich folgende Fehlermeldung auf Browser
java.security.AccessControlException: access denied (java.io.FilePermission /tmp/new1.log read)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
java.security.AccessController.checkPermission(AccessController.java:553)
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
java.lang.SecurityManager.checkRead(SecurityManager.java:888)
java.io.File.exists(File.java:748)
HelloWorldExample2.doGet(HelloWorldExample2.java:42)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)**
Es scheint, dass der Benutzer, von dem Sie Server ausführen, keine Schreibberechtigung für/tmp dir –
@ org.life.java hat, Apache Tomcat hat standardmäßig keinen Root-Zugriff auf tmp in Ubuntu. –
Wie vorgeschlagen, warum Sie versuchen Rad neu zu erfinden, gehen Sie für log4j –