3

我刚刚安装了新的 JDK7u13,但是日志小程序不起作用。我在控制台中看不到任何日志消息。该小程序在 7u11 中运行良好。我试过一个简单的程序(不是小程序),它可以工作。当然,我重新编译了applet,修改了logging.properties。我必须在新的 JRE 更新中配置新参数吗?

一个例子:

同学们好:

import java.applet.Applet;
import java.util.logging.*;

public class Hello extends Applet {

      private static final Logger log = Logger.getLogger("Hello");

   @Override
   public void init() {
      log.info("Hello!!");
      System.out.println("mmmhhhh....");
   }
   // TODO overwrite start(), stop() and destroy() methods
}

安慰:

Java Plugin 10.13.2.20
Usando versión de JRE 1.7.0_13-b20 Java HotSpot(TM) Client VM
Directorio raíz del usuario = C:\Documents and Settings\commander
----------------------------------------------------
c:   borrar ventana de consola
f:   finalizar objetos en la cola de finalización
g:   recopilación de basura
h:   mostrar este mensaje de ayuda
l:   volcar lista de classloader
m:   imprimir uso de memoria
o:   disparar registro
q:   ocultar consola
r:   recargar configuración de política
s:   volcar propiedades del sistema y de despliegue
t:   volcar lista de threads
v:   volcar pila de threads
x:   borrar caché de classloader
0-5: definir nivel de rastreo en <n>
----------------------------------------------------
mmmhhhh....

信息消息“你好!!”在哪里?

在 JRE1.6(例如)中,相同的小程序产生:

Java Plug-in 1.6.0_07
Usar versión JRE 1.6.0_07 Java HotSpot(TM) Client VM
Directorio local del usuario = C:\Documents and Settings\commander
----------------------------------------------------
c:   borrar ventana de consola
f:   finalizar objetos en la cola de finalización
g:   liberación de recursos
h:   presentar este mensaje de ayuda
l:   volcar lista del cargador de clases
m:   imprimir sintaxis de memoria
o:   activar registro
p:   recargar configuración de proxy
q:   ocultar consola
r:   recargar configuración de norma
s:   volcar propiedades del sistema y de despliegue
t:   volcar lista de subprocesos
v:   volcar pila de subprocesos
x:   borrar antememoria del cargador de clases
0-5: establecer nivel de rastreo en <n>
----------------------------------------------------
05-feb-2013 11:18:50 Hello init
INFO: Hello!!
mmmhhhh....

谢谢你。

4

2 回答 2

2
import java.applet.Applet;
import java.util.logging.*;

public class Hello extends Applet {

      private static final Logger log = Logger.getLogger("Hello");

   @Override
   public void init() {
      log.addHandler(new ConsoleHandler()); // ADD THIS LINE TO YOUR CODE
      log.info("Hello!!");
      System.out.println("mmmhhhh....");
   }
   // TODO overwrite start(), stop() and destroy() methods
}

出于任何原因,LogManager 没有读取属性文件的处理程序值,因此要解决您的问题,您只需添加处理程序,如我在上面的代码中所示。我会尝试多调试一点。

于 2013-02-05T15:33:25.377 回答
0

我将您的小程序代码与 jdk1.7.0_09 与此 logging.properties 一起使用:

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=INFO
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

我在控制台中得到了这个输出:

2013 年 2 月 5 日 12:08:35 PM 你好初始化信息:你好!嗯嗯嗯……

于 2013-02-05T12:12:26.410 回答