2016-06-09 3 views
0

log4j을 사용하여 로그를 쓰려고 할 때 예외가 발생합니다. 여기 애플릿 응용 프로그램의 로그 파일을 작성하는 방법은 무엇입니까?

가 throw되는 예외입니다 :

java.security.AccessControlException: access denied ("java.io.FilePermission" "D:\appletServer\bqapplet.log" "write") 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkWrite(Unknown Source) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at org.apache.log4j.FileAppender.setFile(FileAppender.java:294) 
    at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207) 
    at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165) 
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) 
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172) 
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104) 
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842) 
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768) 
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648) 
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514) 
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:440) 
    at com.bqurious.applet.CommandExecutor.<init>(CommandExecutor.java:41) 
    at com.bqurious.applet.BqAppletMainAppender.waitForConnections(BqAppletMainAppender.java:604) 
    at com.bqurious.applet.BqAppletMainAppender.run(BqAppletMainAppender.java:195) 
    at java.lang.Thread.run(Unknown Source) 
    Error! - java.security.AccessControlException: access denied ("java.io.FilePermission" "D:\appletServer\bqapplet.log" "write") 

답변

0

애플릿 것이다 샌드 박스 환경에서 기본 실행 당. 로컬 파일에 액세스 할 수 있도록하려면 서명해야합니다. 유스 케이스에 따라 다른 접근법이 표준 출력에 로그 아웃 될 수 있습니다 (Java 콘솔에서 사용 가능함).

오라클에 What Applets Can and Cannot Do에 대한 자세한 내용을 볼 수있는 자습서가 있습니다.