我在Java applet中使用logback
(通过slf4j
),配置存储在applet根目录的logback.xml
文件中。在Eclipse中运行它可以找到并加载位于类路径中某处的配置。但它不会从applet jar加载配置。
我怀疑此问题与logback
无关,而与applet本身无关。我根本没有使用applet的经验。
[编辑]
logback.xml
(日志配置文件)位于jar的根目录下,其余的jar内容似乎不相关。这是jar文件中日志配置文件的典型位置,因此问题与文件位置无关。我检查了jar文件。实际上我有2个jar文件:服务器端和applet(客户端)。日志配置在服务器端正常工作,因此我怀疑它与applet细节有关。
[EDIT2]
我没有显式加载日志记录配置,它由logback
库完成,它在类路径中查找特定的文件名。
[EDIT3]
小程序设置:
<applet name="name" id="game" width="100%" height="100%" alt="Please visit our site"
archive="my.jar" code="path/to/main.class" mayscript="" title="Java">
<param name="boxborder" value="false">
<param name="separate_jvm" value="true">
<param name="image" value="http://www.oursite.com/img/splash.gif">
<param name="centerimage" value="true">
<param name="boxbgcolor" value="black">
<param name="java_arguments" value="-Xmx384m -Dsun.java2d.noddraw=true -XX:CompileThreshold=1500 -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Dcom.sun.management.jmxremote -Xss6m">
<div class="nojava">
<h1>
Please Update Java</h1>
<p>
It appears that you do not have Java installed, or your version of Java is out of
date. To play this game for free please <a target="_blank" href="http://www.java.com/en/download/index.jsp">
click here</a> to download the latest version of Java. </p>
</div>
</applet>
[EDIT4]
印刷的logback的内部诊断信息,它说它找不到logback.xml
答案 0 :(得分:0)
对我来说,好像你没有在jar中打包日志配置文件?
确保它在罐子里。此外,你应该更好地使用System.out.println(...)
直到弄明白,否则你将看不到输出。
答案 1 :(得分:0)
你怎么知道Logback不加载配置?也许你只是没有看到任何东西,因为没有附加器或其他输出设施。
从docs我假设您必须使用Java Logging API。因此,我不会使用logback而是切换到slf4j-jdk14.jar。
如果您看到logback加载配置:您使用了
<configuration debug="true" >
了解更多信息?
答案 2 :(得分:0)
解决
问题与logback或applet无关。在配置文件已经签名后,我将配置文件放入jar中。谢谢大家的帮助。